otel-launcher-go icon indicating copy to clipboard operation
otel-launcher-go copied to clipboard

CPU runtime and timing metrics

Open jmacd opened this issue 2 years ago β€’ 1 comments

Description:

Produces process.cpu.time metrics, formerly produced by the go-contrib instrumentation/host package. This is not host instrumentation, could become runtime instrumentation.

  • Use of syscall.Getrusage directly as opposed to gopsutil/v3/cpu/process,
  • New process.uptime metric to replace the runtime.uptime metric from go-contrib's instrumentation/runtime that would ideally become a runtime/metric consistent with the next,
  • New process.runtime.go.gc.cpu.time metric that would ideally become a runtime/metric. See also https://github.com/open-telemetry/opentelemetry-go-contrib/issues/316.

Part of #257. Part of #270.

Link to tracking Issue: <Issue number if applicable>

Testing: < Describe what testing was performed and which tests were added.>

Documentation: < Describe the documentation added.>

jmacd avatar Sep 02 '22 04:09 jmacd

Codecov Report

Base: 93.64% // Head: 93.38% // Decreases project coverage by -0.26% :warning:

Coverage data is based on head (19f3840) compared to base (0615899). Patch coverage: 81.25% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #269      +/-   ##
==========================================
- Coverage   93.64%   93.38%   -0.27%     
==========================================
  Files          68       69       +1     
  Lines        3669     3749      +80     
==========================================
+ Hits         3436     3501      +65     
- Misses        181      190       +9     
- Partials       52       58       +6     
Impacted Files Coverage Ξ”
lightstep/instrumentation/cputime/cputime.go 81.25% <81.25%> (ΓΈ)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar Sep 02 '22 05:09 codecov-commenter

FYI @paivagustavo I created cputime_unix.go and cputime_other.go with two implementations; the original (copied from upstream host instrumentation) is a fallback based on gopsutil, the new based on syscall works for unix/darwin w/o a large dependency.

jmacd avatar Sep 07 '22 18:09 jmacd