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 1749a8f commit f223fbc
Show file tree
Hide file tree
Showing 12 changed files with 485 additions and 90 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
55 changes: 55 additions & 0 deletions service/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
[comment]: <> (Code generated by mdatagen. DO NOT EDIT.)

# service

## Internal Telemetry

The following telemetry is emitted by this component.

### process_cpu_seconds

Total CPU user and system time in seconds

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| s | Sum | Double | true |

### process_memory_rss

Total physical memory (resident set size)

| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |

### process_runtime_heap_alloc_bytes

Bytes of allocated heap objects (see 'go doc runtime.MemStats.HeapAlloc')

| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |

### process_runtime_total_alloc_bytes

Cumulative bytes allocated for heap objects (see 'go doc runtime.MemStats.TotalAlloc')

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| By | Sum | Int | true |

### process_runtime_total_sys_memory_bytes

Total bytes of memory obtained from the OS (see 'go doc runtime.MemStats.Sys')

| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |

### process_uptime

Uptime of the process

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| s | Sum | Double | true |
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.

13 changes: 13 additions & 0 deletions service/generated_package_test.go

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

181 changes: 181 additions & 0 deletions service/internal/metadata/generated_telemetry.go

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

Loading

0 comments on commit f223fbc

Please sign in to comment.