diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-10-13 12:34:25 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-10-13 14:12:41 +0200 |
commit | 74df86e04f42914589ff5b04404a30d118282479 (patch) | |
tree | 3a3fec275b348881f59781355489afbb02528195 /node-admin | |
parent | d1aa1696df99be0841bcdacec6dd8b6882c4410b (diff) |
Add extra helper methods and new option
Diffstat (limited to 'node-admin')
3 files changed, 25 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ArtifactProducer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ArtifactProducer.java index 6afa44bcf58..e4a9e6aeea5 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ArtifactProducer.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/ArtifactProducer.java @@ -23,11 +23,14 @@ interface ArtifactProducer { int servicePid(); CommandResult executeCommandInNode(List<String> command, boolean logOutput); Path outputDirectoryInNode(); + Path pathInNodeUnderVespaHome(String relativePath); + Path pathOnHostFromPathInNode(Path pathInNode); Options options(); interface Options { OptionalDouble duration(); boolean callGraphRecording(); + boolean sendProfilingSignal(); } } 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 index 09fac496b19..452f786301b 100644 --- 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 @@ -111,19 +111,24 @@ class ServiceDumpReport extends BaseReport { private static final String CALL_GRAPH_RECORDING_FIELD = "callGraphRecording"; private static final String DURATION_FIELD = "duration"; + private static final String SEND_PROFILING_SIGNAL_FIELD = "sendProfilingSignal"; private final Boolean callGraphRecording; private final Double duration; + private final Boolean sendProfilingSignal; @JsonCreator public DumpOptions(@JsonProperty(CALL_GRAPH_RECORDING_FIELD) Boolean callGraphRecording, - @JsonProperty(DURATION_FIELD) Double duration) { + @JsonProperty(DURATION_FIELD) Double duration, + @JsonProperty(SEND_PROFILING_SIGNAL_FIELD) Boolean sendProfilingSignal) { this.callGraphRecording = callGraphRecording; this.duration = duration; + this.sendProfilingSignal = sendProfilingSignal; } @JsonGetter(CALL_GRAPH_RECORDING_FIELD) public Boolean callGraphRecording() { return callGraphRecording; } @JsonGetter(DURATION_FIELD) public Double duration() { return duration; } + @JsonGetter(SEND_PROFILING_SIGNAL_FIELD) public Boolean sendProfilingSignal() { return sendProfilingSignal; } } @JsonIgnore public boolean isCompletedOrFailed() { return !isNullTimestamp(failedAt) || !isNullTimestamp(completedAt); } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/VespaServiceDumperImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/VespaServiceDumperImpl.java index 3fcaf0922a6..b4f2569c86f 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/VespaServiceDumperImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/servicedump/VespaServiceDumperImpl.java @@ -223,6 +223,17 @@ public class VespaServiceDumperImpl implements VespaServiceDumper { } @Override public Path outputDirectoryInNode() { return outputDirectoryInNode; } + + @Override + public Path pathInNodeUnderVespaHome(String relativePath) { + return nodeAgentCtx.pathInNodeUnderVespaHome(relativePath); + } + + @Override + public Path pathOnHostFromPathInNode(Path pathInNode) { + return nodeAgentCtx.pathOnHostFromPathInNode(pathInNode); + } + @Override public Options options() { return this; } @Override @@ -238,6 +249,11 @@ public class VespaServiceDumperImpl implements VespaServiceDumper { return dumpOptions().map(ServiceDumpReport.DumpOptions::callGraphRecording).orElse(false); } + @Override + public boolean sendProfilingSignal() { + return dumpOptions().map(ServiceDumpReport.DumpOptions::sendProfilingSignal).orElse(false); + } + Optional<ServiceDumpReport.DumpOptions> dumpOptions() { return Optional.ofNullable(request.dumpOptions()); } } } |