diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-09-06 12:18:44 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2018-09-06 12:18:44 +0200 |
commit | bf352565b583d04587018eb29f60baccfaf8389d (patch) | |
tree | 28de323ef89c2601121154bdfb0eb3b290f9612b /controller-server | |
parent | c1fdecf3cb26f1a3aef2caf290916a4f533c6c58 (diff) |
Log time spent writing applications and tenants on startup
Diffstat (limited to 'controller-server')
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 */ |