Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update prometheus dependency #8655

Merged
merged 1 commit into from
Feb 9, 2023
Merged

chore(deps): update prometheus dependency #8655

merged 1 commit into from
Feb 9, 2023

Conversation

joshua-goldstein
Copy link
Contributor

@joshua-goldstein joshua-goldstein commented Feb 7, 2023

Use latest version of Prometheus @damonfeldman

The only metric that is removed is go_memstats_gc_cpu_fraction. The reason is explained in the comment below, this is from the library code itself:

// N.B. GCCPUFraction is intentionally omitted. This metric is not useful,
// and often misleading due to the fact that it's an average over the lifetime
// of the process.
// See https://github.com/prometheus/client_golang/issues/842#issuecomment-861812034
// for more details.

These are the new metrics that are added with 1.19

go_cgo_go_to_c_calls_calls_total
go_gc_cycles_automatic_gc_cycles_total
go_gc_cycles_forced_gc_cycles_total
go_gc_cycles_total_gc_cycles_total

go_gc_heap_allocs_by_size_bytes_bucket
go_gc_heap_allocs_by_size_bytes_count
go_gc_heap_allocs_by_size_bytes_sum
go_gc_heap_allocs_bytes_total
go_gc_heap_allocs_objects_total
go_gc_heap_frees_by_size_bytes_bucket
go_gc_heap_frees_by_size_bytes_count
go_gc_heap_frees_by_size_bytes_sum
go_gc_heap_frees_bytes_total
go_gc_heap_frees_objects_total
go_gc_heap_goal_bytes
go_gc_heap_objects_objects
go_gc_heap_tiny_allocs_objects_total
go_gc_limiter_last_enabled_gc_cycle
go_gc_pauses_seconds_bucket
go_gc_pauses_seconds_count
go_gc_pauses_seconds_sum
go_gc_stack_starting_size_bytes

go_memory_classes_heap_free_bytes
go_memory_classes_heap_objects_bytes
go_memory_classes_heap_released_bytes
go_memory_classes_heap_stacks_bytes
go_memory_classes_heap_unused_bytes
go_memory_classes_metadata_mcache_free_bytes
go_memory_classes_metadata_mcache_inuse_bytes
go_memory_classes_metadata_mspan_free_bytes
go_memory_classes_metadata_mspan_inuse_bytes
go_memory_classes_metadata_other_bytes
go_memory_classes_os_stacks_bytes
go_memory_classes_other_bytes
go_memory_classes_profiling_buckets_bytes
go_memory_classes_total_bytes

go_sched_gomaxprocs_threads
go_sched_goroutines_goroutines
go_sched_latencies_seconds_bucket
go_sched_latencies_seconds_count
go_sched_latencies_seconds_sum

These will be added once we upgrade to Go 1.20

go_cpu_classes_gc_mark_assist_cpu_seconds_total:
go_cpu_classes_gc_mark_dedicated_cpu_seconds_total
go_cpu_classes_gc_mark_idle_cpu_seconds_total
go_cpu_classes_gc_pause_cpu_seconds_total
go_cpu_classes_gc_total_cpu_seconds_total
go_cpu_classes_idle_cpu_seconds_total
go_cpu_classes_scavenge_assist_cpu_seconds_total
go_cpu_classes_scavenge_background_cpu_seconds_total
go_cpu_classes_scavenge_total_cpu_seconds_total
go_cpu_classes_total_cpu_seconds_total
go_cpu_classes_user_cpu_seconds_total

go_sync_mutex_wait_total_seconds_total

The whole analysis is available at: https://docs.google.com/spreadsheets/d/1rbkvweEtxrK7VLr8xU-gYwRBlCg6h2nTUXXnjkUq7sI/edit?usp=sharing

This removes the metric `go_memstats_gc_cpu_fraction`.
This metric is not useful and often misleading due to the
fact that it's an average over the lifetime of the process.
See prometheus/client_golang#842 (comment)

These are the new metrics that are added:

go_cgo_go_to_c_calls_calls_total
go_cpu_classes_gc_mark_assist_cpu_seconds_total
go_cpu_classes_gc_mark_dedicated_cpu_seconds_total
go_cpu_classes_gc_mark_idle_cpu_seconds_total
go_cpu_classes_gc_pause_cpu_seconds_total
go_cpu_classes_gc_total_cpu_seconds_total
go_cpu_classes_idle_cpu_seconds_total
go_cpu_classes_scavenge_assist_cpu_seconds_total
go_cpu_classes_scavenge_background_cpu_seconds_total
go_cpu_classes_scavenge_total_cpu_seconds_total
go_cpu_classes_total_cpu_seconds_total
go_cpu_classes_user_cpu_seconds_total
go_gc_cycles_automatic_gc_cycles_total
go_gc_cycles_forced_gc_cycles_total
go_gc_cycles_total_gc_cycles_total

go_gc_heap_allocs_by_size_bytes_bucket
go_gc_heap_allocs_by_size_bytes_count
go_gc_heap_allocs_by_size_bytes_sum
go_gc_heap_allocs_bytes_total
go_gc_heap_allocs_objects_total
go_gc_heap_frees_by_size_bytes_bucket
go_gc_heap_frees_by_size_bytes_count
go_gc_heap_frees_by_size_bytes_sum
go_gc_heap_frees_bytes_total
go_gc_heap_frees_objects_total
go_gc_heap_goal_bytes
go_gc_heap_objects_objects
go_gc_heap_tiny_allocs_objects_total
go_gc_limiter_last_enabled_gc_cycle
go_gc_pauses_seconds_bucket
go_gc_pauses_seconds_count
go_gc_pauses_seconds_sum
go_gc_stack_starting_size_bytes

go_memory_classes_heap_free_bytes
go_memory_classes_heap_objects_bytes
go_memory_classes_heap_released_bytes
go_memory_classes_heap_stacks_bytes
go_memory_classes_heap_unused_bytes
go_memory_classes_metadata_mcache_free_bytes
go_memory_classes_metadata_mcache_inuse_bytes
go_memory_classes_metadata_mspan_free_bytes
go_memory_classes_metadata_mspan_inuse_bytes
go_memory_classes_metadata_other_bytes
go_memory_classes_os_stacks_bytes
go_memory_classes_other_bytes
go_memory_classes_profiling_buckets_bytes
go_memory_classes_total_bytes

go_sched_gomaxprocs_threads
go_sched_goroutines_goroutines
go_sched_latencies_seconds_bucket
go_sched_latencies_seconds_count
go_sched_latencies_seconds_sum
go_sync_mutex_wait_total_seconds_total
Copy link
Contributor

@all-seeing-code all-seeing-code left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR is great. I am more concerned about if we understand these metrics and can create an internal document regarding which are the top metrics we need to track in case of performance issues or while debugging. Right now these are too many to get lost in.

@mangalaman93
Copy link
Member

Good point, Anurag. I think we will figure these metrics out as we go.

@coveralls
Copy link

Coverage Status

Coverage: 67.161% (+0.1%) from 67.033% when pulling 07d5374 on joshua/prom into 5e13ac0 on main.

@mangalaman93 mangalaman93 merged commit c477e57 into main Feb 9, 2023
@mangalaman93 mangalaman93 deleted the joshua/prom branch February 9, 2023 13:45
skrdgraph added a commit that referenced this pull request Mar 17, 2023
Similar to #8743 but two
changes.
- github.com/dgraph-io/graphql-transport-ws did not have any CVE's, see
#8624:
- Bumping google.golang.org/[email protected] to v1.52.0 caused issues, but
this was not a CVE fix. See
#8655

We now have parity with main branch (i.e. equal number and same CVE's on
main and slash).

---------

Co-authored-by: skrdgraph <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants