Documentation ¶
Overview ¶
Package runmetrics contains support for runtime metrics.
To enable collecting runtime metrics, just call Enable():
_ := runmetrics.Enable(runmetrics.RunMetricOptions{ EnableCPU: true, EnableMemory: true, })
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Enable ¶
func Enable(options RunMetricOptions) error
Enable enables collection of runtime metrics.
Supply RunMetricOptions to configure the behavior of metrics collection. An error might be returned, if creating metrics gauges fails.
Previous calls will be overwritten by subsequent ones.
Example ¶
package main import ( "context" "fmt" "log" "sort" "go.opencensus.io/metric/metricdata" "go.opencensus.io/metric/metricexport" "go.opencensus.io/plugin/runmetrics" ) type printExporter struct { } func (l *printExporter) ExportMetrics(ctx context.Context, data []*metricdata.Metric) error { mapData := make(map[string]metricdata.Metric, 0) for _, v := range data { mapData[v.Descriptor.Name] = *v } mapKeys := make([]string, 0, len(mapData)) for key := range mapData { mapKeys = append(mapKeys, key) } sort.Strings(mapKeys) // for the sake of a simple example, we cannot use the real value here simpleVal := func(v interface{}) int { return 42 } for _, k := range mapKeys { v := mapData[k] fmt.Printf("%s %d\n", k, simpleVal(v.TimeSeries[0].Points[0].Value)) } return nil } func main() { // Enable collection of runtime metrics and supply options err := runmetrics.Enable(runmetrics.RunMetricOptions{ EnableCPU: true, EnableMemory: true, Prefix: "mayapp/", }) if err != nil { log.Fatal(err) } // Use your reader/exporter to extract values // This part is not specific to runtime metrics and only here to make it a complete example. metricexport.NewReader().ReadAndExport(&printExporter{}) }
Output: mayapp/process/cpu_cgo_calls 42 mayapp/process/cpu_goroutines 42 mayapp/process/gc_cpu_fraction 42 mayapp/process/gc_sys 42 mayapp/process/heap_alloc 42 mayapp/process/heap_idle 42 mayapp/process/heap_inuse 42 mayapp/process/heap_objects 42 mayapp/process/heap_release 42 mayapp/process/last_gc_finished_timestamp 42 mayapp/process/memory_alloc 42 mayapp/process/memory_frees 42 mayapp/process/memory_lookups 42 mayapp/process/memory_malloc 42 mayapp/process/next_gc_heap_size 42 mayapp/process/num_forced_gc 42 mayapp/process/num_gc 42 mayapp/process/other_sys 42 mayapp/process/pause_total 42 mayapp/process/stack_inuse 42 mayapp/process/stack_mcache_inuse 42 mayapp/process/stack_mspan_inuse 42 mayapp/process/sys_heap 42 mayapp/process/sys_memory_alloc 42 mayapp/process/sys_stack 42 mayapp/process/sys_stack_mcache 42 mayapp/process/sys_stack_mspan 42 mayapp/process/total_memory_alloc 42
Types ¶
type RunMetricOptions ¶
type RunMetricOptions struct { EnableCPU bool // EnableCPU whether CPU metrics shall be recorded EnableMemory bool // EnableMemory whether memory metrics shall be recorded Prefix string // Prefix is a custom prefix for metric names UseDerivedCumulative bool // UseDerivedCumulative whether DerivedCumulative metrics should be used }
RunMetricOptions allows to configure runtime metrics.
Click to show internal directories.
Click to hide internal directories.