Skip to content

Commit

Permalink
[service] use mdatagen for service metrics
Browse files Browse the repository at this point in the history
This reverts the reverts open-telemetry#10271 and adds a mechanism to skip adding a create settings method for the service package component test. Will need to figure out if servicetelemetry.TelemetrySettings should be renamed to fit w/ the other CreateSettings structs before removing this check.

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
  • Loading branch information
codeboten committed May 30, 2024
1 parent c8092f2 commit bbd3472
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 11 deletions.
5 changes: 3 additions & 2 deletions cmd/mdatagen/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,9 @@ type tests struct {
}

type telemetry struct {
Level configtelemetry.Level `mapstructure:"level"`
Metrics map[metricName]metric `mapstructure:"metrics"`
SkipCreateSettings bool `mapstructure:"skip_create_settings"`
Level configtelemetry.Level `mapstructure:"level"`
Metrics map[metricName]metric `mapstructure:"metrics"`
}

type metadata struct {
Expand Down
3 changes: 3 additions & 0 deletions cmd/mdatagen/templates/component_telemetry_test.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ type componentTestTelemetry struct {
meterProvider *sdkmetric.MeterProvider
}

{{- if not .Telemetry.SkipCreateSettings }}
func (tt *componentTestTelemetry) NewCreateSettings() {{ .Status.Class }}.CreateSettings {
settings := {{ .Status.Class }}test.NewNopCreateSettings()
settings.MeterProvider = tt.meterProvider
Expand All @@ -29,6 +30,8 @@ func (tt *componentTestTelemetry) NewCreateSettings() {{ .Status.Class }}.Create
return settings
}

{{- end }}

func setupTestTelemetry() componentTestTelemetry {
reader := sdkmetric.NewManualReader()
return componentTestTelemetry{
Expand Down
64 changes: 64 additions & 0 deletions service/generated_component_telemetry_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 35 additions & 9 deletions service/internal/metadata/generated_telemetry.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions service/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ tests:
- "go.opentelemetry.io/collector/service/internal/proctelemetry.InitPrometheusServer.func1"

telemetry:
skip_create_settings: true
metrics:
process_uptime:
enabled: true
Expand Down

0 comments on commit bbd3472

Please sign in to comment.