Documentation
¶
Index ¶
- Variables
- type Envelope
- func (*Envelope) Descriptor() ([]byte, []int)deprecated
- func (x *Envelope) GetDeployId() string
- func (x *Envelope) GetDeployVersion() string
- func (x *Envelope) GetDroppedSummaries() uint64
- func (x *Envelope) GetEnvironment() string
- func (x *Envelope) GetInstance() string
- func (x *Envelope) GetInstanceStartTimeMs() int64
- func (x *Envelope) GetRegion() string
- func (x *Envelope) GetSdkVersion() string
- func (x *Envelope) GetService() string
- func (x *Envelope) GetSketchFormatVersion() uint32
- func (*Envelope) ProtoMessage()
- func (x *Envelope) ProtoReflect() protoreflect.Message
- func (x *Envelope) Reset()
- func (x *Envelope) String() string
- type Exemplar
- func (*Exemplar) Descriptor() ([]byte, []int)deprecated
- func (x *Exemplar) GetAtMs() int64
- func (x *Exemplar) GetDurationNs() uint64
- func (x *Exemplar) GetRequestId() string
- func (x *Exemplar) GetSpanId() string
- func (x *Exemplar) GetStatusCode() uint32
- func (x *Exemplar) GetTraceId() string
- func (*Exemplar) ProtoMessage()
- func (x *Exemplar) ProtoReflect() protoreflect.Message
- func (x *Exemplar) Reset()
- func (x *Exemplar) String() string
- type Handshake
- func (*Handshake) Descriptor() ([]byte, []int)deprecated
- func (x *Handshake) GetInstance() string
- func (x *Handshake) GetSdkVersion() string
- func (x *Handshake) GetService() string
- func (x *Handshake) GetSketchFormatVersion() uint32
- func (*Handshake) ProtoMessage()
- func (x *Handshake) ProtoReflect() protoreflect.Message
- func (x *Handshake) Reset()
- func (x *Handshake) String() string
- type InstanceWindow
- func (*InstanceWindow) Descriptor() ([]byte, []int)deprecated
- func (x *InstanceWindow) GetCpuNs() uint64
- func (x *InstanceWindow) GetFdLimit() uint64
- func (x *InstanceWindow) GetGcCpuFraction() float64
- func (x *InstanceWindow) GetGcPauseNs() uint64
- func (x *InstanceWindow) GetGomaxprocs() uint32
- func (x *InstanceWindow) GetGoroutines() uint64
- func (x *InstanceWindow) GetHeapAllocBytes() uint64
- func (x *InstanceWindow) GetHeapInuseBytes() uint64
- func (x *InstanceWindow) GetInFlight() uint64
- func (x *InstanceWindow) GetMallocs() uint64
- func (x *InstanceWindow) GetNumGc() uint64
- func (x *InstanceWindow) GetOpenFds() uint64
- func (x *InstanceWindow) GetPostGcHeapBytes() uint64
- func (x *InstanceWindow) GetRssBytes() uint64
- func (x *InstanceWindow) GetRssTrueBytes() uint64
- func (x *InstanceWindow) GetTotalAllocBytes() uint64
- func (x *InstanceWindow) GetWindowEndMs() int64
- func (x *InstanceWindow) GetWindowStartMs() int64
- func (*InstanceWindow) ProtoMessage()
- func (x *InstanceWindow) ProtoReflect() protoreflect.Message
- func (x *InstanceWindow) Reset()
- func (x *InstanceWindow) String() string
- type NoStatusReason
- func (NoStatusReason) Descriptor() protoreflect.EnumDescriptor
- func (x NoStatusReason) Enum() *NoStatusReason
- func (NoStatusReason) EnumDescriptor() ([]byte, []int)deprecated
- func (x NoStatusReason) Number() protoreflect.EnumNumber
- func (x NoStatusReason) String() string
- func (NoStatusReason) Type() protoreflect.EnumType
- type RegisterResponse
- func (*RegisterResponse) Descriptor() ([]byte, []int)deprecated
- func (x *RegisterResponse) GetAccepted() bool
- func (x *RegisterResponse) GetReason() string
- func (*RegisterResponse) ProtoMessage()
- func (x *RegisterResponse) ProtoReflect() protoreflect.Message
- func (x *RegisterResponse) Reset()
- func (x *RegisterResponse) String() string
- type StatusClass
- func (StatusClass) Descriptor() protoreflect.EnumDescriptor
- func (x StatusClass) Enum() *StatusClass
- func (StatusClass) EnumDescriptor() ([]byte, []int)deprecated
- func (x StatusClass) Number() protoreflect.EnumNumber
- func (x StatusClass) String() string
- func (StatusClass) Type() protoreflect.EnumType
- type Summary
- func (*Summary) Descriptor() ([]byte, []int)deprecated
- func (x *Summary) GetCount() uint64
- func (x *Summary) GetErrorClassBreakdown() map[string]uint64
- func (x *Summary) GetExemplars() []*Exemplar
- func (x *Summary) GetLatencySketch() map[int32]uint64
- func (x *Summary) GetMaxDurationNs() uint64
- func (x *Summary) GetMethod() string
- func (x *Summary) GetNoStatusReasons() map[uint32]uint64
- func (x *Summary) GetReqBytes() uint64
- func (x *Summary) GetRespBytes() uint64
- func (x *Summary) GetRouteTemplate() string
- func (x *Summary) GetStatusClass() StatusClass
- func (x *Summary) GetStatusCodeBreakdown() map[uint32]uint64
- func (x *Summary) GetSumDownstreamDurationNs() uint64
- func (x *Summary) GetSumDurationNs() uint64
- func (x *Summary) GetWindowEndMs() int64
- func (x *Summary) GetWindowStartMs() int64
- func (*Summary) ProtoMessage()
- func (x *Summary) ProtoReflect() protoreflect.Message
- func (x *Summary) Reset()
- func (x *Summary) String() string
- type UploadRequest
- func (*UploadRequest) Descriptor() ([]byte, []int)deprecated
- func (x *UploadRequest) GetEnvelope() *Envelope
- func (x *UploadRequest) GetInstanceWindows() []*InstanceWindow
- func (x *UploadRequest) GetSummaries() []*Summary
- func (*UploadRequest) ProtoMessage()
- func (x *UploadRequest) ProtoReflect() protoreflect.Message
- func (x *UploadRequest) Reset()
- func (x *UploadRequest) String() string
- type UploadResponse
- func (*UploadResponse) Descriptor() ([]byte, []int)deprecated
- func (x *UploadResponse) GetAccepted() bool
- func (x *UploadResponse) GetReason() string
- func (x *UploadResponse) GetRejectedSummaries() uint64
- func (*UploadResponse) ProtoMessage()
- func (x *UploadResponse) ProtoReflect() protoreflect.Message
- func (x *UploadResponse) Reset()
- func (x *UploadResponse) String() string
Constants ¶
This section is empty.
Variables ¶
var ( NoStatusReason_name = map[int32]string{ 0: "NO_STATUS_REASON_UNSPECIFIED", 1: "NO_STATUS_REASON_CONTEXT_CANCELED", 2: "NO_STATUS_REASON_CONTEXT_DEADLINE", 3: "NO_STATUS_REASON_WRITE_ERROR", 4: "NO_STATUS_REASON_PANIC", 5: "NO_STATUS_REASON_OTHER", } NoStatusReason_value = map[string]int32{ "NO_STATUS_REASON_UNSPECIFIED": 0, "NO_STATUS_REASON_CONTEXT_CANCELED": 1, "NO_STATUS_REASON_CONTEXT_DEADLINE": 2, "NO_STATUS_REASON_WRITE_ERROR": 3, "NO_STATUS_REASON_PANIC": 4, "NO_STATUS_REASON_OTHER": 5, } )
Enum value maps for NoStatusReason.
var ( StatusClass_name = map[int32]string{ 0: "STATUS_CLASS_UNSPECIFIED", 1: "STATUS_CLASS_2XX", 2: "STATUS_CLASS_3XX", 3: "STATUS_CLASS_4XX", 4: "STATUS_CLASS_5XX", 5: "STATUS_CLASS_NO_STATUS", } StatusClass_value = map[string]int32{ "STATUS_CLASS_UNSPECIFIED": 0, "STATUS_CLASS_2XX": 1, "STATUS_CLASS_3XX": 2, "STATUS_CLASS_4XX": 3, "STATUS_CLASS_5XX": 4, "STATUS_CLASS_NO_STATUS": 5, } )
Enum value maps for StatusClass.
var File_maping_v1_maping_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Envelope ¶
type Envelope struct {
Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // logical app name (auto-derived)
Instance string `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` // replica id (auto-derived)
SdkVersion string `protobuf:"bytes,3,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"` // client SDK version, for compat handling
// sketch_format_version identifies the DDSketch bucket layout so the server
// can reject sketches it cannot interpret rather than corrupt percentiles.
SketchFormatVersion uint32 `protobuf:"varint,4,opt,name=sketch_format_version,json=sketchFormatVersion,proto3" json:"sketch_format_version,omitempty"`
// dropped_summaries counts Summaries dropped by client backpressure since the
// last successful upload, so the gap is visible rather than silent.
DroppedSummaries uint64 `protobuf:"varint,5,opt,name=dropped_summaries,json=droppedSummaries,proto3" json:"dropped_summaries,omitempty"`
// deploy_version is the release version (semver or image tag) the process is
// running. A stored, low-cardinality dimension used to answer "did release X
// regress this endpoint?" — NOT part of the client-side series key.
DeployVersion string `protobuf:"bytes,6,opt,name=deploy_version,json=deployVersion,proto3" json:"deploy_version,omitempty"`
// deploy_id is the immutable build identity (git SHA / CI build id), so two
// releases sharing a version string can still be told apart.
DeployId string `protobuf:"bytes,7,opt,name=deploy_id,json=deployId,proto3" json:"deploy_id,omitempty"`
// environment is the deployment environment (prod/staging/dev), a stored
// low-cardinality dimension.
Environment string `protobuf:"bytes,8,opt,name=environment,proto3" json:"environment,omitempty"`
// region is the deployment region (e.g. eu-west-1), a stored low-cardinality
// dimension.
Region string `protobuf:"bytes,9,opt,name=region,proto3" json:"region,omitempty"`
// instance_start_time_ms is the process boot wall-clock in epoch millis, so
// restarts can be correlated with a change in behavior.
InstanceStartTimeMs int64 `protobuf:"varint,10,opt,name=instance_start_time_ms,json=instanceStartTimeMs,proto3" json:"instance_start_time_ms,omitempty"`
// contains filtered or unexported fields
}
Envelope carries source identity and is sent once per upload batch.
func (*Envelope) Descriptor
deprecated
func (*Envelope) GetDeployId ¶ added in v0.2.0
func (*Envelope) GetDeployVersion ¶ added in v0.2.0
func (*Envelope) GetDroppedSummaries ¶
func (*Envelope) GetEnvironment ¶ added in v0.2.0
func (*Envelope) GetInstance ¶
func (*Envelope) GetInstanceStartTimeMs ¶ added in v0.2.0
func (*Envelope) GetSdkVersion ¶
func (*Envelope) GetService ¶
func (*Envelope) GetSketchFormatVersion ¶
func (*Envelope) ProtoMessage ¶
func (*Envelope) ProtoMessage()
func (*Envelope) ProtoReflect ¶
func (x *Envelope) ProtoReflect() protoreflect.Message
type Exemplar ¶ added in v0.2.0
type Exemplar struct {
AtMs int64 `protobuf:"varint,1,opt,name=at_ms,json=atMs,proto3" json:"at_ms,omitempty"` // request completion wall-clock, epoch millis
DurationNs uint64 `protobuf:"varint,2,opt,name=duration_ns,json=durationNs,proto3" json:"duration_ns,omitempty"` // request latency
StatusCode uint32 `protobuf:"varint,3,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` // exact HTTP status (0 when none was written)
TraceId string `protobuf:"bytes,4,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // W3C/OTel trace id (32 hex chars), optional
SpanId string `protobuf:"bytes,5,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` // W3C/OTel span id (16 hex chars), optional
RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // app request id (e.g. X-Request-Id), optional
// contains filtered or unexported fields
}
Exemplar is one real request pinned to a Summary as a debugging breadcrumb. Every field except duration is best-effort: trace/span/request ids are filled only when the adapter can extract them (e.g. a W3C traceparent header), and are empty otherwise. Exemplars are bounded per window and live only in the raw tier (see Summary.exemplars).
func (*Exemplar) Descriptor
deprecated
added in
v0.2.0
func (*Exemplar) GetDurationNs ¶ added in v0.2.0
func (*Exemplar) GetRequestId ¶ added in v0.2.0
func (*Exemplar) GetStatusCode ¶ added in v0.2.0
func (*Exemplar) GetTraceId ¶ added in v0.2.0
func (*Exemplar) ProtoMessage ¶ added in v0.2.0
func (*Exemplar) ProtoMessage()
func (*Exemplar) ProtoReflect ¶ added in v0.2.0
func (x *Exemplar) ProtoReflect() protoreflect.Message
type Handshake ¶
type Handshake struct {
Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
Instance string `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"`
SdkVersion string `protobuf:"bytes,3,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"`
SketchFormatVersion uint32 `protobuf:"varint,4,opt,name=sketch_format_version,json=sketchFormatVersion,proto3" json:"sketch_format_version,omitempty"`
// contains filtered or unexported fields
}
Handshake is a one-time registration ping sent on recorder startup. It proves auth + connectivity before any traffic and drives the dashboard onboarding state. It is not a metric. (Named for the domain concept, not RegisterRequest — see the RPC_REQUEST_STANDARD_NAME lint exception in buf.yaml.)
func (*Handshake) Descriptor
deprecated
func (*Handshake) GetInstance ¶
func (*Handshake) GetSdkVersion ¶
func (*Handshake) GetService ¶
func (*Handshake) GetSketchFormatVersion ¶
func (*Handshake) ProtoMessage ¶
func (*Handshake) ProtoMessage()
func (*Handshake) ProtoReflect ¶
func (x *Handshake) ProtoReflect() protoreflect.Message
type InstanceWindow ¶ added in v0.2.0
type InstanceWindow struct {
WindowStartMs int64 `protobuf:"varint,1,opt,name=window_start_ms,json=windowStartMs,proto3" json:"window_start_ms,omitempty"` // window start, epoch millis (client wall clock)
WindowEndMs int64 `protobuf:"varint,2,opt,name=window_end_ms,json=windowEndMs,proto3" json:"window_end_ms,omitempty"` // window end, epoch millis
CpuNs uint64 `protobuf:"varint,3,opt,name=cpu_ns,json=cpuNs,proto3" json:"cpu_ns,omitempty"` // process CPU time consumed during the window
RssBytes uint64 `protobuf:"varint,4,opt,name=rss_bytes,json=rssBytes,proto3" json:"rss_bytes,omitempty"` // resident memory proxy (runtime Sys bytes)
HeapAllocBytes uint64 `protobuf:"varint,5,opt,name=heap_alloc_bytes,json=heapAllocBytes,proto3" json:"heap_alloc_bytes,omitempty"` // live heap bytes at sample time
GcPauseNs uint64 `protobuf:"varint,6,opt,name=gc_pause_ns,json=gcPauseNs,proto3" json:"gc_pause_ns,omitempty"` // GC stop-the-world pause time during the window
Goroutines uint64 `protobuf:"varint,7,opt,name=goroutines,proto3" json:"goroutines,omitempty"` // goroutine count at sample time
// num_gc is the number of completed GC cycles during the window (a DELTA of the
// cumulative runtime counter), so GC frequency can be read as num_gc/window.
NumGc uint64 `protobuf:"varint,8,opt,name=num_gc,json=numGc,proto3" json:"num_gc,omitempty"`
// total_alloc_bytes is the bytes allocated on the heap during the window (a
// DELTA of the cumulative counter), giving the allocation rate.
TotalAllocBytes uint64 `protobuf:"varint,9,opt,name=total_alloc_bytes,json=totalAllocBytes,proto3" json:"total_alloc_bytes,omitempty"`
// mallocs is the number of heap objects allocated during the window (a DELTA of
// the cumulative counter); total_alloc_bytes/mallocs is the average alloc size.
Mallocs uint64 `protobuf:"varint,10,opt,name=mallocs,proto3" json:"mallocs,omitempty"`
// gc_cpu_fraction is the fraction of total CPU time spent in GC since process
// start (0..1), a point-in-time gauge covering concurrent GC, not just STW.
GcCpuFraction float64 `protobuf:"fixed64,11,opt,name=gc_cpu_fraction,json=gcCpuFraction,proto3" json:"gc_cpu_fraction,omitempty"`
// heap_inuse_bytes is in-use heap bytes at sample time (spans with live objects),
// a tighter memory read than rss_bytes. Point-in-time gauge.
HeapInuseBytes uint64 `protobuf:"varint,12,opt,name=heap_inuse_bytes,json=heapInuseBytes,proto3" json:"heap_inuse_bytes,omitempty"`
// gomaxprocs is the process's GOMAXPROCS at sample time, used to normalize CPU
// intensity to a share of available cores. Point-in-time gauge.
Gomaxprocs uint32 `protobuf:"varint,13,opt,name=gomaxprocs,proto3" json:"gomaxprocs,omitempty"`
// post_gc_heap_bytes is the live heap as of the last completed GC mark
// (/gc/heap/live:bytes), the post-GC baseline. Unlike heap_alloc_bytes (an
// arbitrary sample point), a monotonically rising value distinguishes a leak
// from an allocation burst. Point-in-time gauge.
PostGcHeapBytes uint64 `protobuf:"varint,14,opt,name=post_gc_heap_bytes,json=postGcHeapBytes,proto3" json:"post_gc_heap_bytes,omitempty"`
// rss_true_bytes is true resident set size from the OS (Linux /proc/self/statm),
// unlike rss_bytes which is runtime Sys (reserved address space). Best-effort:
// 0 on platforms where it is not wired up. Point-in-time gauge.
RssTrueBytes uint64 `protobuf:"varint,15,opt,name=rss_true_bytes,json=rssTrueBytes,proto3" json:"rss_true_bytes,omitempty"`
// open_fds is the count of open file descriptors (Linux /proc/self/fd entries).
// A rising count proxies leaking or accumulating connections/files. Best-effort:
// 0 on platforms where it is not wired up. Point-in-time gauge.
OpenFds uint64 `protobuf:"varint,16,opt,name=open_fds,json=openFds,proto3" json:"open_fds,omitempty"`
// fd_limit is the soft RLIMIT_NOFILE ceiling, so nearness to the limit ("open_fds
// over fd_limit") is computable. Best-effort: 0 on platforms where it is not
// wired up. Point-in-time gauge.
FdLimit uint64 `protobuf:"varint,17,opt,name=fd_limit,json=fdLimit,proto3" json:"fd_limit,omitempty"`
// in_flight is the PEAK number of requests in flight during the window, tracked
// by the recorder as adapters enter/leave each handler. It shows the process
// backing up (blocked, not busy) when latency rises but CPU/GC stay flat.
InFlight uint64 `protobuf:"varint,18,opt,name=in_flight,json=inFlight,proto3" json:"in_flight,omitempty"`
// contains filtered or unexported fields
}
InstanceWindow is one process-level resource snapshot over a flush window: the USE-style saturation gauges the client samples from the Go runtime. Cumulative counters (cpu_ns, gc_pause_ns) are reported as the DELTA over the window; the rest are point-in-time reads at sample time. Every field is best-effort and may be zero (e.g. cpu_ns on a platform where process CPU time is unavailable).
func (*InstanceWindow) Descriptor
deprecated
added in
v0.2.0
func (*InstanceWindow) Descriptor() ([]byte, []int)
Deprecated: Use InstanceWindow.ProtoReflect.Descriptor instead.
func (*InstanceWindow) GetCpuNs ¶ added in v0.2.0
func (x *InstanceWindow) GetCpuNs() uint64
func (*InstanceWindow) GetFdLimit ¶ added in v0.5.0
func (x *InstanceWindow) GetFdLimit() uint64
func (*InstanceWindow) GetGcCpuFraction ¶ added in v0.5.0
func (x *InstanceWindow) GetGcCpuFraction() float64
func (*InstanceWindow) GetGcPauseNs ¶ added in v0.2.0
func (x *InstanceWindow) GetGcPauseNs() uint64
func (*InstanceWindow) GetGomaxprocs ¶ added in v0.5.0
func (x *InstanceWindow) GetGomaxprocs() uint32
func (*InstanceWindow) GetGoroutines ¶ added in v0.2.0
func (x *InstanceWindow) GetGoroutines() uint64
func (*InstanceWindow) GetHeapAllocBytes ¶ added in v0.2.0
func (x *InstanceWindow) GetHeapAllocBytes() uint64
func (*InstanceWindow) GetHeapInuseBytes ¶ added in v0.5.0
func (x *InstanceWindow) GetHeapInuseBytes() uint64
func (*InstanceWindow) GetInFlight ¶ added in v0.5.0
func (x *InstanceWindow) GetInFlight() uint64
func (*InstanceWindow) GetMallocs ¶ added in v0.5.0
func (x *InstanceWindow) GetMallocs() uint64
func (*InstanceWindow) GetNumGc ¶ added in v0.5.0
func (x *InstanceWindow) GetNumGc() uint64
func (*InstanceWindow) GetOpenFds ¶ added in v0.5.0
func (x *InstanceWindow) GetOpenFds() uint64
func (*InstanceWindow) GetPostGcHeapBytes ¶ added in v0.5.0
func (x *InstanceWindow) GetPostGcHeapBytes() uint64
func (*InstanceWindow) GetRssBytes ¶ added in v0.2.0
func (x *InstanceWindow) GetRssBytes() uint64
func (*InstanceWindow) GetRssTrueBytes ¶ added in v0.5.0
func (x *InstanceWindow) GetRssTrueBytes() uint64
func (*InstanceWindow) GetTotalAllocBytes ¶ added in v0.5.0
func (x *InstanceWindow) GetTotalAllocBytes() uint64
func (*InstanceWindow) GetWindowEndMs ¶ added in v0.2.0
func (x *InstanceWindow) GetWindowEndMs() int64
func (*InstanceWindow) GetWindowStartMs ¶ added in v0.2.0
func (x *InstanceWindow) GetWindowStartMs() int64
func (*InstanceWindow) ProtoMessage ¶ added in v0.2.0
func (*InstanceWindow) ProtoMessage()
func (*InstanceWindow) ProtoReflect ¶ added in v0.2.0
func (x *InstanceWindow) ProtoReflect() protoreflect.Message
func (*InstanceWindow) Reset ¶ added in v0.2.0
func (x *InstanceWindow) Reset()
func (*InstanceWindow) String ¶ added in v0.2.0
func (x *InstanceWindow) String() string
type NoStatusReason ¶ added in v0.2.0
type NoStatusReason int32
NoStatusReason explains why a request ended without an HTTP status written (StatusClass NO_STATUS). The client derives it from the request context and writer state so a spike of aborted requests can be told apart — a client disconnect vs. a server-side deadline vs. a write failure vs. a panic — instead of collapsing them all into one opaque "no status" bucket.
const ( // NO_STATUS_REASON_UNSPECIFIED is the proto3 default: no reason was derived. NoStatusReason_NO_STATUS_REASON_UNSPECIFIED NoStatusReason = 0 // NO_STATUS_REASON_CONTEXT_CANCELED: the request context was canceled (e.g. // the client disconnected) before a status was written. NoStatusReason_NO_STATUS_REASON_CONTEXT_CANCELED NoStatusReason = 1 // NO_STATUS_REASON_CONTEXT_DEADLINE: the request context deadline fired first. NoStatusReason_NO_STATUS_REASON_CONTEXT_DEADLINE NoStatusReason = 2 // NO_STATUS_REASON_WRITE_ERROR: the handler finished without writing a status. NoStatusReason_NO_STATUS_REASON_WRITE_ERROR NoStatusReason = 3 // NO_STATUS_REASON_PANIC: the request aborted on a panic before a status. NoStatusReason_NO_STATUS_REASON_PANIC NoStatusReason = 4 // NO_STATUS_REASON_OTHER: aborted for a reason none of the above capture. NoStatusReason_NO_STATUS_REASON_OTHER NoStatusReason = 5 )
func (NoStatusReason) Descriptor ¶ added in v0.2.0
func (NoStatusReason) Descriptor() protoreflect.EnumDescriptor
func (NoStatusReason) Enum ¶ added in v0.2.0
func (x NoStatusReason) Enum() *NoStatusReason
func (NoStatusReason) EnumDescriptor
deprecated
added in
v0.2.0
func (NoStatusReason) EnumDescriptor() ([]byte, []int)
Deprecated: Use NoStatusReason.Descriptor instead.
func (NoStatusReason) Number ¶ added in v0.2.0
func (x NoStatusReason) Number() protoreflect.EnumNumber
func (NoStatusReason) String ¶ added in v0.2.0
func (x NoStatusReason) String() string
func (NoStatusReason) Type ¶ added in v0.2.0
func (NoStatusReason) Type() protoreflect.EnumType
type RegisterResponse ¶
type RegisterResponse struct {
Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
// contains filtered or unexported fields
}
func (*RegisterResponse) Descriptor
deprecated
func (*RegisterResponse) Descriptor() ([]byte, []int)
Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead.
func (*RegisterResponse) GetAccepted ¶
func (x *RegisterResponse) GetAccepted() bool
func (*RegisterResponse) GetReason ¶
func (x *RegisterResponse) GetReason() string
func (*RegisterResponse) ProtoMessage ¶
func (*RegisterResponse) ProtoMessage()
func (*RegisterResponse) ProtoReflect ¶
func (x *RegisterResponse) ProtoReflect() protoreflect.Message
func (*RegisterResponse) Reset ¶
func (x *RegisterResponse) Reset()
func (*RegisterResponse) String ¶
func (x *RegisterResponse) String() string
type StatusClass ¶
type StatusClass int32
StatusClass is the HTTP status bucket used as a series-key dimension. Exact codes live in Summary.status_code_breakdown, never as a series label.
const ( // STATUS_CLASS_UNSPECIFIED must never be sent; it guards proto3 default-zero. StatusClass_STATUS_CLASS_UNSPECIFIED StatusClass = 0 StatusClass_STATUS_CLASS_2XX StatusClass = 1 StatusClass_STATUS_CLASS_3XX StatusClass = 2 StatusClass_STATUS_CLASS_4XX StatusClass = 3 StatusClass_STATUS_CLASS_5XX StatusClass = 4 // STATUS_CLASS_NO_STATUS covers write-timeouts / requests aborted before a // status was written. Counted as an error, tracked separately (docs/context.md). StatusClass_STATUS_CLASS_NO_STATUS StatusClass = 5 )
func (StatusClass) Descriptor ¶
func (StatusClass) Descriptor() protoreflect.EnumDescriptor
func (StatusClass) Enum ¶
func (x StatusClass) Enum() *StatusClass
func (StatusClass) EnumDescriptor
deprecated
func (StatusClass) EnumDescriptor() ([]byte, []int)
Deprecated: Use StatusClass.Descriptor instead.
func (StatusClass) Number ¶
func (x StatusClass) Number() protoreflect.EnumNumber
func (StatusClass) String ¶
func (x StatusClass) String() string
func (StatusClass) Type ¶
func (StatusClass) Type() protoreflect.EnumType
type Summary ¶
type Summary struct {
WindowStartMs int64 `protobuf:"varint,1,opt,name=window_start_ms,json=windowStartMs,proto3" json:"window_start_ms,omitempty"` // client wall clock, window start
WindowEndMs int64 `protobuf:"varint,2,opt,name=window_end_ms,json=windowEndMs,proto3" json:"window_end_ms,omitempty"` // client wall clock, window end
Method string `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"` // HTTP method
RouteTemplate string `protobuf:"bytes,4,opt,name=route_template,json=routeTemplate,proto3" json:"route_template,omitempty"` // registered route template, never raw path
StatusClass StatusClass `protobuf:"varint,5,opt,name=status_class,json=statusClass,proto3,enum=maping.v1.StatusClass" json:"status_class,omitempty"`
Count uint64 `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"` // requests in window (gives rate)
SumDurationNs uint64 `protobuf:"varint,7,opt,name=sum_duration_ns,json=sumDurationNs,proto3" json:"sum_duration_ns,omitempty"` // for an exact mean alongside sketch percentiles
ReqBytes uint64 `protobuf:"varint,8,opt,name=req_bytes,json=reqBytes,proto3" json:"req_bytes,omitempty"` // summed request bytes (bandwidth per endpoint)
RespBytes uint64 `protobuf:"varint,9,opt,name=resp_bytes,json=respBytes,proto3" json:"resp_bytes,omitempty"` // summed response bytes
// latency_sketch is a DDSketch as a sparse bucket-index -> count map.
// Keys are int32 to match server storage (Map(Int32,UInt64)) and avoid a
// future migration. Interpreted per Envelope.sketch_format_version.
LatencySketch map[int32]uint64 `` /* 177-byte string literal not displayed */
// status_code_breakdown is the exact-code detail (bounded, top-N) for the
// endpoint-detail view. Not a series-key dimension.
StatusCodeBreakdown map[uint32]uint64 `` /* 197-byte string literal not displayed */
// max_duration_ns is the exact slowest request observed in the window. Unlike
// the DDSketch percentiles (which are relative-error bounded), this is the
// true tail latency, merged across summaries with max.
MaxDurationNs uint64 `protobuf:"varint,12,opt,name=max_duration_ns,json=maxDurationNs,proto3" json:"max_duration_ns,omitempty"`
// exemplars is a BOUNDED, best-effort sample of real requests from the window
// (the single slowest plus a few errors), so a user can pivot from a p99 or
// error spike to an actual request to open in their tracing tool or logs.
// They are breadcrumbs, not exact data: the client caps them per window and
// the server keeps them ONLY in the raw (finest) tier under its short TTL —
// rollups drop them. Not a series-key dimension.
Exemplars []*Exemplar `protobuf:"bytes,13,rep,name=exemplars,proto3" json:"exemplars,omitempty"`
// error_class_breakdown is a bounded, top-N count of normalized error labels
// (uppercase [A-Z0-9_], <=64 chars) the app/framework attached to requests in
// the window, so a 5xx spike can be attributed to a cause ("DB_POOL_EXHAUSTED"
// vs "UPSTREAM_TIMEOUT"). Bounded per series like status_code_breakdown; not a
// series-key dimension.
ErrorClassBreakdown map[string]uint64 `` /* 196-byte string literal not displayed */
// no_status_reasons counts, by NoStatusReason, why requests ended without a
// status written (see StatusClass NO_STATUS): timing out vs canceling vs
// crashing. The key is the NoStatusReason enum value carried as uint32, since
// proto3 map keys cannot be enum-typed.
NoStatusReasons map[uint32]uint64 `` /* 185-byte string literal not displayed */
// sum_downstream_duration_ns is the summed time requests in the window spent
// waiting on downstream calls (outbound HTTP, and later DB/cache), so the
// endpoint's own time can be split from time it was merely blocked on a
// dependency — "the extra 45ms is all downstream". It is a scalar sum captured
// by the maping RoundTripper; requests that make no downstream calls (or a
// service that does not wire the RoundTripper) contribute zero, so the panel
// feature-gates on data presence.
SumDownstreamDurationNs uint64 `` /* 136-byte string literal not displayed */
// contains filtered or unexported fields
}
Summary is one client-side aggregate for a single (endpoint, status-class) over one flush window. It is the unit of data mAPI-ng ships (no per-request events in v1).
func (*Summary) Descriptor
deprecated
func (*Summary) GetErrorClassBreakdown ¶ added in v0.2.0
func (*Summary) GetExemplars ¶ added in v0.2.0
func (*Summary) GetLatencySketch ¶
func (*Summary) GetMaxDurationNs ¶ added in v0.2.0
func (*Summary) GetNoStatusReasons ¶ added in v0.2.0
func (*Summary) GetReqBytes ¶
func (*Summary) GetRespBytes ¶
func (*Summary) GetRouteTemplate ¶
func (*Summary) GetStatusClass ¶
func (x *Summary) GetStatusClass() StatusClass
func (*Summary) GetStatusCodeBreakdown ¶
func (*Summary) GetSumDownstreamDurationNs ¶ added in v0.2.0
func (*Summary) GetSumDurationNs ¶
func (*Summary) GetWindowEndMs ¶
func (*Summary) GetWindowStartMs ¶
func (*Summary) ProtoMessage ¶
func (*Summary) ProtoMessage()
func (*Summary) ProtoReflect ¶
func (x *Summary) ProtoReflect() protoreflect.Message
type UploadRequest ¶
type UploadRequest struct {
Envelope *Envelope `protobuf:"bytes,1,opt,name=envelope,proto3" json:"envelope,omitempty"`
Summaries []*Summary `protobuf:"bytes,2,rep,name=summaries,proto3" json:"summaries,omitempty"`
// instance_windows carries per-process resource gauges (USE: CPU, memory,
// goroutines, GC pause) sampled once per flush window, so a latency rise can be
// correlated with saturation ("p99 rose because GC pauses tripled") without a
// release. It is a separate stream from the per-endpoint summaries and is stored
// in its own table; typically one entry per upload.
InstanceWindows []*InstanceWindow `protobuf:"bytes,3,rep,name=instance_windows,json=instanceWindows,proto3" json:"instance_windows,omitempty"`
// contains filtered or unexported fields
}
UploadRequest is one batched, fire-and-forget upload.
func (*UploadRequest) Descriptor
deprecated
func (*UploadRequest) Descriptor() ([]byte, []int)
Deprecated: Use UploadRequest.ProtoReflect.Descriptor instead.
func (*UploadRequest) GetEnvelope ¶
func (x *UploadRequest) GetEnvelope() *Envelope
func (*UploadRequest) GetInstanceWindows ¶ added in v0.2.0
func (x *UploadRequest) GetInstanceWindows() []*InstanceWindow
func (*UploadRequest) GetSummaries ¶
func (x *UploadRequest) GetSummaries() []*Summary
func (*UploadRequest) ProtoMessage ¶
func (*UploadRequest) ProtoMessage()
func (*UploadRequest) ProtoReflect ¶
func (x *UploadRequest) ProtoReflect() protoreflect.Message
func (*UploadRequest) Reset ¶
func (x *UploadRequest) Reset()
func (*UploadRequest) String ¶
func (x *UploadRequest) String() string
type UploadResponse ¶
type UploadResponse struct {
// accepted is false when the whole batch was rejected (e.g. bad key handled
// at the transport layer); reason carries a machine-readable code the client
// logs (rate-limited) and surfaces in the dashboard.
Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
// rejected_summaries reports partial drops (e.g. cardinality frozen) so the
// client can log the count without failing the whole upload.
RejectedSummaries uint64 `protobuf:"varint,3,opt,name=rejected_summaries,json=rejectedSummaries,proto3" json:"rejected_summaries,omitempty"`
// contains filtered or unexported fields
}
func (*UploadResponse) Descriptor
deprecated
func (*UploadResponse) Descriptor() ([]byte, []int)
Deprecated: Use UploadResponse.ProtoReflect.Descriptor instead.
func (*UploadResponse) GetAccepted ¶
func (x *UploadResponse) GetAccepted() bool
func (*UploadResponse) GetReason ¶
func (x *UploadResponse) GetReason() string
func (*UploadResponse) GetRejectedSummaries ¶
func (x *UploadResponse) GetRejectedSummaries() uint64
func (*UploadResponse) ProtoMessage ¶
func (*UploadResponse) ProtoMessage()
func (*UploadResponse) ProtoReflect ¶
func (x *UploadResponse) ProtoReflect() protoreflect.Message
func (*UploadResponse) Reset ¶
func (x *UploadResponse) Reset()
func (*UploadResponse) String ¶
func (x *UploadResponse) String() string
Directories
¶
| Path | Synopsis |
|---|---|
|
Package maping.v1 is the mAPI-ng ingest wire contract.
|
Package maping.v1 is the mAPI-ng ingest wire contract. |