diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-09-07 10:27:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-07 10:27:30 +0200 |
commit | 706f62d3d67daa339398dbfbaec3b5798b5a25ee (patch) | |
tree | 1faafc877be1271e284895620015a499f7ba4236 /controller-server | |
parent | 3d45606a373ff41a7b5e3c6375b28ae29ad4e5ff (diff) | |
parent | bf352565b583d04587018eb29f60baccfaf8389d (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')
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 */ |