This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-satellite.git


The following commit(s) were added to refs/heads/main by this push:
     new 1987e1d  add the prefix of satellite metrics service (#97)
1987e1d is described below

commit 1987e1d566ac90f6b58a45fd9bfa27bf8faad635
Author: mrproliu <[email protected]>
AuthorDate: Sat Dec 18 16:27:07 2021 +0800

    add the prefix of satellite metrics service (#97)
---
 configs/satellite_config.yaml                               | 2 ++
 docs/en/setup/examples/feature/telemetry-exporter/README.md | 2 ++
 internal/satellite/telemetry/metricservice/server.go        | 4 +++-
 internal/satellite/telemetry/telemetry.go                   | 5 +++--
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/configs/satellite_config.yaml b/configs/satellite_config.yaml
index 5dd8b6e..3c57817 100644
--- a/configs/satellite_config.yaml
+++ b/configs/satellite_config.yaml
@@ -46,6 +46,8 @@ telemetry:
     client_name: ${SATELLITE_TELEMETRY_METRICS_SERVICE_CLIENT_NAME:grpc-client}
     # The interval second for sending metrics
     interval: ${SATELLITE_TELEMETRY_METRICS_SERVICE_INTERVAL:10}
+    # The prefix of telemetry metric name
+    metric_prefix: ${SATELLITE_TELEMETRY_METRICS_SERVICE_METRIC_PREFIX:sw_stl_}
 
 # The sharing plugins referenced by the specific plugins in the different 
pipes.
 sharing:
diff --git a/docs/en/setup/examples/feature/telemetry-exporter/README.md 
b/docs/en/setup/examples/feature/telemetry-exporter/README.md
index 88cd7dd..da82ab7 100644
--- a/docs/en/setup/examples/feature/telemetry-exporter/README.md
+++ b/docs/en/setup/examples/feature/telemetry-exporter/README.md
@@ -53,4 +53,6 @@ telemetry:
     client_name: ${SATELLITE_TELEMETRY_METRICS_SERVICE_CLIENT_NAME:grpc-client}
     # The interval second for sending metrics
     interval: ${SATELLITE_TELEMETRY_METRICS_SERVICE_INTERVAL:10}
+    # The prefix of telemetry metric name
+    metric_prefix: ${SATELLITE_TELEMETRY_METRICS_SERVICE_METRIC_PREFIX:sw_stl_}
 ```
\ No newline at end of file
diff --git a/internal/satellite/telemetry/metricservice/server.go 
b/internal/satellite/telemetry/metricservice/server.go
index 8b24846..9619576 100644
--- a/internal/satellite/telemetry/metricservice/server.go
+++ b/internal/satellite/telemetry/metricservice/server.go
@@ -103,6 +103,7 @@ func (s *Server) sendMetrics() error {
        appender := &MetricsAppender{
                time:    time.Now().UnixNano() / int64(time.Millisecond),
                metrics: make([]*v3.MeterData, 0),
+               prefix:  s.MetricPrefix,
        }
        for _, metric := range s.metrics {
                metric.WriteMetric(appender)
@@ -156,6 +157,7 @@ func (s *Server) Register(name string, metric Metric) {
 type MetricsAppender struct {
        time    int64
        metrics []*v3.MeterData
+       prefix  string
 }
 
 func (a *MetricsAppender) appendSingleValue(name string, labels []*v3.Label, 
val float64) {
@@ -163,7 +165,7 @@ func (a *MetricsAppender) appendSingleValue(name string, 
labels []*v3.Label, val
                Timestamp: a.time,
                Metric: &v3.MeterData_SingleValue{
                        SingleValue: &v3.MeterSingleValue{
-                               Name:   name,
+                               Name:   a.prefix + name,
                                Labels: labels,
                                Value:  val,
                        },
diff --git a/internal/satellite/telemetry/telemetry.go 
b/internal/satellite/telemetry/telemetry.go
index 930e2bd..9b60183 100644
--- a/internal/satellite/telemetry/telemetry.go
+++ b/internal/satellite/telemetry/telemetry.go
@@ -47,8 +47,9 @@ type PrometheusConfig struct {
 }
 
 type MetricsServiceConfig struct {
-       ClientName string `mapstructure:"client_name"` // The grpc-client 
plugin name, using the SkyWalking native batch meter protocol
-       Interval   int    `mapstructure:"interval"`    // The interval second 
for sending metrics
+       ClientName   string `mapstructure:"client_name"`   // The grpc-client 
plugin name, using the SkyWalking native batch meter protocol
+       Interval     int    `mapstructure:"interval"`      // The interval 
second for sending metrics
+       MetricPrefix string `mapstructure:"metric_prefix"` // The prefix of 
telemetry metric name
 }
 
 type Server interface {

Reply via email to