Marton Greber has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/24121 )

Change subject: [metrics] Export hostname as a Prometheus label
......................................................................

[metrics] Export hostname as a Prometheus label

In https://gerrit.cloudera.org/c/24096/ we enabled exporting entity
attributes as Prometheus labels via --metrics_prometheus_use_entity_labels.
However, when Prometheus scrapes multiple Kudu nodes, there is no label
to identify the source node.

This patch adds a 'hostname' label to each metric, allowing the source
node to be identified without relying on Prometheus relabel_configs.
A new runtime flag --metrics_prometheus_export_hostname (default: true)
is provided so that users who prefer to handle hostname labeling via
Prometheus relabel_configs can opt out.

Changes:
- Add 'hostname' field to MetricPrometheusOptions; pass it from
  ServerBase::Start() via messenger_->hostname() through the handler
  chain into MetricEntity::WriteAsPrometheus(), where it is appended
  as a label when the entity-labels flag is on and hostname is non-empty.
- Add --metrics_prometheus_export_hostname runtime flag (default true).
  When set to false, the hostname label is omitted even if
  --metrics_prometheus_use_entity_labels is true and hostname is available.
- Add four unit tests covering: hostname label present (both flags on),
  no effect in legacy mode (entity labels off), opt-out via export flag
  (export_hostname off), and empty hostname (no label).

Change-Id: I43b4c8ea5736e99c20b25a2ffea3c6c8dcb9d27e
Reviewed-on: http://gerrit.cloudera.org:8080/24121
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Alexey Serbin <[email protected]>
Reviewed-by: Marton Greber <[email protected]>
---
M src/kudu/server/default_path_handlers.cc
M src/kudu/server/default_path_handlers.h
M src/kudu/server/server_base.cc
M src/kudu/util/metrics-test.cc
M src/kudu/util/metrics.cc
M src/kudu/util/metrics.h
6 files changed, 180 insertions(+), 7 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved; Verified
  Marton Greber: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/24121
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I43b4c8ea5736e99c20b25a2ffea3c6c8dcb9d27e
Gerrit-Change-Number: 24121
Gerrit-PatchSet: 5
Gerrit-Owner: Yan-Daojiang <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Yan-Daojiang <[email protected]>

Reply via email to