package
0.0.0-20240720002214-37b2b8227b91
Repository: https://github.com/progrium/go-netstack.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

CheapNowNano returns the current unix timestamp in nanoseconds.
Disable sends an empty metric registration event over the event channel, disabling metric collection.
EmitMetricUpdate emits a MetricUpdate over the event channel.
GetMetricRegistration returns the metric registration data for all registered metrics.
GetSnapshot returns a Prometheus snapshot of the metric data.
Initialize sends a metric registration event over the event channel.
MustCreateNewDistributionMetric creates and registers a distribution metric.
MustCreateNewTimerMetric creates and registers a timer metric.
MustCreateNewUint64Metric calls NewUint64Metric and panics if it returns an error.
MustCreateNewUint64NanosecondsMetric calls NewUint64Metric and panics if it returns an error.
MustRegisterCustomUint64Metric calls RegisterCustomUint64Metric for metrics without fields and panics if it returns an error.
NewDistributionMetric creates and registers a new distribution metric.
NewDurationBucketer returns a Bucketer well-suited for measuring durations in nanoseconds.
NewExponentialBucketer returns a new Bucketer with exponential buckets.
NewField defines a new Field that can be used to break down a metric.
NewTimerMetric provides a convenient way to measure latencies.
NewUint64Metric creates and registers a new cumulative metric with the given name.
RegisterCustomUint64Metric registers a metric with the given name.
StartProfilingMetrics checks the ProfilingMetrics runsc flags and creates goroutines responsible for outputting the profiling metric data.
StartStage should be called when an initialization stage is started.
StopProfilingMetrics stops the profiling metrics goroutines.

# Variables

ErrFieldHasNoAllowedValues indicates that the field needs to define some allowed values to be a valid and useful field.
ErrFieldValueContainsIllegalChar indicates that the value of a metric field had an invalid character in it.
ErrInitializationDone indicates that the caller tried to create a new metric after initialization.
ErrNameInUse indicates that another metric is already defined for the given name.
ErrNotYetInitialized is returned by GetMetricRegistration if metrics are not yet initialized.
ErrTooManyFieldCombinations indicates that the number of unique combinations of fields is too large to support.
List of all Sentry initialization stages.
List of all Sentry initialization stages.
List of all Sentry initialization stages.
List of all Sentry initialization stages.
List of all Sentry initialization stages.
ProfilingMetricWriter is the output destination to which ProfilingMetrics will be written to in TSV format.
SentryProfiling is a builder that produces conditionally compiled metrics.
SuspiciousOperationsMetric is a metric with fields created to detect operations such as opening an executable file to write from a gofer.
Suspicious operations metric type constants.
WeirdnessMetric is a metric with fields created to track the number of weird occurrences such as time fallback, partial_result, vsyscall count, watchdog startup timeouts and stuck tasks.
Weirdness metric type constants.
Weirdness metric type constants.
Weirdness metric type constants.
Weirdness metric type constants.
Weirdness metric type constants.

# Structs

DistributionMetric represents a distribution of values in finite buckets.
ExponentialBucketer implements Bucketer, with the first bucket starting with 0 as lowest bound with `Width` width, and each subsequent bucket being wider by a scaled exponentially-growing series, until `NumFiniteBuckets` buckets exist.
FakeDistributionMetric is a type that implements all the methods of a DistributionMetric as a no-op.
FakeMetricBuilder is a type used to produce conditionally compiled metrics.
FakeTimedOperation is a type that implements all the methods of a TimedOperation as a no-op.
FakeTimerMetric is a type that implements all the methods of a TimerMetric as a no-op.
FakeUint64Metric is a type that implements all the methods of a Uint64Metric as a no-op.
Field contains the field name and allowed values for the metric which is used in registration of the metric.
FieldValue is a string that can be used as a value for a Field.
RealMetricBuilder is a type used to produce conditionally compiled metrics.
SnapshotOptions controls how snapshots are exported in GetSnapshot.
TimedOperation is used by TimerMetric to keep track of the time elapsed between an operation starting and stopping.
TimerMetric wraps a distribution metric with convenience functions for latency measurements, which is a popular specialization of distribution metrics.
Uint64Metric encapsulates a uint64 that represents some kind of metric to be monitored.

# Interfaces

Bucketer is an interface to bucket values into finite, distinct buckets.

# Type aliases

InitStage is the name of a Sentry initialization stage.