summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-09-07 10:27:30 +0200
committerGitHub <noreply@github.com>2018-09-07 10:27:30 +0200
commit706f62d3d67daa339398dbfbaec3b5798b5a25ee (patch)
tree1faafc877be1271e284895620015a499f7ba4236 /controller-server
parent3d45606a373ff41a7b5e3c6375b28ae29ad4e5ff (diff)
parentbf352565b583d04587018eb29f60baccfaf8389d (diff)
Merge pull request #6830 from vespa-engine/mpolden/log-time-spent
Log time spent writing applications and tenants on startup
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java7
2 files changed, 14 insertions, 1 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
index e984edca7db..ab4d05af0e9 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
@@ -27,6 +27,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.configserver.NoInstance
import com.yahoo.vespa.hosted.controller.api.integration.configserver.PrepareResponse;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationStore;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.ArtifactRepository;
+import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService;
import com.yahoo.vespa.hosted.controller.api.integration.dns.Record;
import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordData;
@@ -38,7 +39,6 @@ import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.application.Deployment;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.application.JobList;
import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.application.JobStatus.JobRun;
@@ -57,6 +57,8 @@ import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.Clock;
+import java.time.Duration;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -115,9 +117,13 @@ public class ApplicationController {
this.rotationRepository = new RotationRepository(rotationsConfig, this, curator);
this.deploymentTrigger = new DeploymentTrigger(controller, buildService, clock);
+ Instant start = clock.instant();
+ int count = 0;
for (Application application : curator.readApplications()) {
lockIfPresent(application.id(), this::store);
+ count++;
}
+ log.log(Level.INFO, String.format("Wrote %d applications in %s", count, Duration.between(start, clock.instant())));
}
/** Returns the application with the given id, or null if it is not present */
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
index 5f456553120..20847f904aa 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
@@ -18,6 +18,8 @@ import com.yahoo.vespa.hosted.controller.tenant.Contact;
import com.yahoo.vespa.hosted.controller.tenant.Tenant;
import com.yahoo.vespa.hosted.controller.tenant.UserTenant;
+import java.time.Duration;
+import java.time.Instant;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
@@ -25,6 +27,7 @@ import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
+import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -50,6 +53,8 @@ public class TenantController {
this.organization = Objects.requireNonNull(organization, "organization must be non-null");
// Write all tenants to ensure persisted data uses latest serialization format
+ Instant start = controller.clock().instant();
+ int count = 0;
for (Tenant tenant : curator.readTenants()) {
try (Lock lock = lock(tenant.name())) {
if (tenant instanceof AthenzTenant) {
@@ -60,7 +65,9 @@ public class TenantController {
throw new IllegalArgumentException("Unknown tenant type: " + tenant.getClass().getSimpleName());
}
}
+ count++;
}
+ log.log(Level.INFO, String.format("Wrote %d tenants in %s", count, Duration.between(start, controller.clock().instant())));
}
/** Returns a list of all known tenants sorted by name */