@@ -24,6 +24,7 @@ type oxideScraper struct {
2424 settings component.TelemetrySettings
2525 cfg * Config
2626 logger * zap.Logger
27+ host string
2728
2829 metricNames []string
2930
@@ -32,6 +33,13 @@ type oxideScraper struct {
3233 scrapeDuration metric.Float64Gauge
3334}
3435
36+ func normalizeHost (raw string ) string {
37+ if u , err := url .Parse (raw ); err == nil && u .Host != "" {
38+ return u .Host
39+ }
40+ return raw
41+ }
42+
3543func newOxideScraper (
3644 cfg * Config ,
3745 settings component.TelemetrySettings ,
@@ -42,6 +50,7 @@ func newOxideScraper(
4250 settings : settings ,
4351 cfg : cfg ,
4452 logger : settings .Logger ,
53+ host : normalizeHost (client .Host ()),
4554 }
4655}
4756
@@ -163,7 +172,10 @@ func (s *oxideScraper) Scrape(ctx context.Context) (pmetric.Metrics, error) {
163172 s .apiRequestDuration .Record (
164173 ctx ,
165174 elapsed .Seconds (),
166- metric .WithAttributes (attribute .String ("request_name" , metricName )),
175+ metric .WithAttributes (
176+ attribute .String ("request_name" , metricName ),
177+ attribute .String ("oxide.host" , s .host ),
178+ ),
167179 )
168180 }
169181
@@ -178,8 +190,9 @@ func (s *oxideScraper) Scrape(ctx context.Context) (pmetric.Metrics, error) {
178190 elapsed := time .Since (startTime )
179191 s .logger .Info ("scrape finished" , zap .Float64 ("latency" , elapsed .Seconds ()))
180192
181- s .scrapeDuration .Record (ctx , elapsed .Seconds ())
182- s .scrapeCount .Add (ctx , 1 )
193+ hostAttr := attribute .String ("oxide.host" , s .host )
194+ s .scrapeDuration .Record (ctx , elapsed .Seconds (), metric .WithAttributes (hostAttr ))
195+ s .scrapeCount .Add (ctx , 1 , metric .WithAttributes (hostAttr ))
183196
184197 var queryErrors int
185198 for _ , result := range results {
@@ -226,11 +239,7 @@ func (s *oxideScraper) Scrape(ctx context.Context) (pmetric.Metrics, error) {
226239 rm := metrics .ResourceMetrics ().AppendEmpty ()
227240 resource := rm .Resource ()
228241 resource .Attributes ().PutStr ("service.name" , "oxide" )
229- host := s .client .Host ()
230- if u , err := url .Parse (host ); err == nil && u .Host != "" {
231- host = u .Host
232- }
233- resource .Attributes ().PutStr ("oxide.host" , host )
242+ resource .Attributes ().PutStr ("oxide.host" , s .host )
234243
235244 addLabels (series , resource )
236245
@@ -344,7 +353,7 @@ func (s *oxideScraper) addSiloUtilization(ctx context.Context, metrics pmetric.M
344353 if err != nil {
345354 return err
346355 }
347- addSiloUtilizationMetrics (metrics , resp , pcommon .NewTimestampFromTime (time .Now ()))
356+ addSiloUtilizationMetrics (metrics , resp , pcommon .NewTimestampFromTime (time .Now ()), s . host )
348357 return nil
349358}
350359
@@ -353,8 +362,11 @@ func addSiloUtilizationMetrics(
353362 metrics pmetric.Metrics ,
354363 utilizations []oxide.SiloUtilization ,
355364 timestamp pcommon.Timestamp ,
365+ host string ,
356366) {
357367 rm := metrics .ResourceMetrics ().AppendEmpty ()
368+ rm .Resource ().Attributes ().PutStr ("service.name" , "oxide" )
369+ rm .Resource ().Attributes ().PutStr ("oxide.host" , host )
358370 sm := rm .ScopeMetrics ().AppendEmpty ()
359371
360372 addGauge := func (name string ) pmetric.Gauge {
0 commit comments