diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-08-31 14:50:44 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-08-31 14:50:44 +0200 |
commit | db3204cc71a38125dadf55cd8eecb5cdc3911f05 (patch) | |
tree | cbdb52c58bdb6c3f554b1a6d082f585512795ba0 /node-admin | |
parent | 596d66da61acd082a6f6399c9c1f1d1d152530a6 (diff) |
Introduce report type for service dump
Diffstat (limited to 'node-admin')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ServiceDumpReport.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ServiceDumpReport.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ServiceDumpReport.java new file mode 100644 index 00000000000..a2701c51727 --- /dev/null +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ServiceDumpReport.java @@ -0,0 +1,68 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.node.admin.maintenance.servicedump; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonGetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports.BaseReport; + +/** + * JSON representation of Vespa service dump report. + * + * @author bjorncs + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +class ServiceDumpReport extends BaseReport { + + public static final String REPORT_ID = "serviceDump"; + + private static final String REQUESTED_AT_FIELD = "requestedAt"; + private static final String STARTED_AT_FIELD = "startedAt"; + private static final String COMPLETED_AT_FIELD = "completedAt"; + private static final String FAILED_AT_FIELD = "failedAt"; + private static final String LOCATION_FIELD = "location"; + private static final String CONFIG_ID_FIELD = "configId"; + private static final String EXPIRY_FIELD = "expiry"; + private static final String ERROR_FIELD = "error"; + + private final Long requestedAt; + private final Long startedAt; + private final Long completedAt; + private final Long failedAt; + private final String location; + private final String configId; + private final Long expiry; + private final String error; + + @JsonCreator + public ServiceDumpReport(@JsonProperty(REQUESTED_AT_FIELD) Long requestedAt, + @JsonProperty(STARTED_AT_FIELD) Long startedAt, + @JsonProperty(COMPLETED_AT_FIELD) Long completedAt, + @JsonProperty(FAILED_AT_FIELD) Long failedAt, + @JsonProperty(LOCATION_FIELD) String location, + @JsonProperty(CONFIG_ID_FIELD) String configId, + @JsonProperty(EXPIRY_FIELD) Long expiry, + @JsonProperty(ERROR_FIELD) String error) { + super(null, null); + this.requestedAt = requestedAt; + this.startedAt = startedAt; + this.completedAt = completedAt; + this.failedAt = failedAt; + this.location = location; + this.configId = configId; + this.expiry = expiry; + this.error = error; + } + + @JsonGetter(REQUESTED_AT_FIELD) public Long requestedAt() { return requestedAt; } + @JsonGetter(STARTED_AT_FIELD) public Long startedAt() { return startedAt; } + @JsonGetter(COMPLETED_AT_FIELD) public Long completedAt() { return completedAt; } + @JsonGetter(FAILED_AT_FIELD) public Long failedAt() { return failedAt; } + @JsonGetter(LOCATION_FIELD) public String location() { return location; } + @JsonGetter(CONFIG_ID_FIELD) public String configId() { return configId; } + @JsonGetter(EXPIRY_FIELD) public Long expiry() { return expiry; } + @JsonGetter(ERROR_FIELD) public String error() { return error; } +} |