mapingv1

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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.

View Source
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) Descriptor() ([]byte, []int)

Deprecated: Use Envelope.ProtoReflect.Descriptor instead.

func (*Envelope) GetDeployId added in v0.2.0

func (x *Envelope) GetDeployId() string

func (*Envelope) GetDeployVersion added in v0.2.0

func (x *Envelope) GetDeployVersion() string

func (*Envelope) GetDroppedSummaries

func (x *Envelope) GetDroppedSummaries() uint64

func (*Envelope) GetEnvironment added in v0.2.0

func (x *Envelope) GetEnvironment() string

func (*Envelope) GetInstance

func (x *Envelope) GetInstance() string

func (*Envelope) GetInstanceStartTimeMs added in v0.2.0

func (x *Envelope) GetInstanceStartTimeMs() int64

func (*Envelope) GetRegion added in v0.2.0

func (x *Envelope) GetRegion() string

func (*Envelope) GetSdkVersion

func (x *Envelope) GetSdkVersion() string

func (*Envelope) GetService

func (x *Envelope) GetService() string

func (*Envelope) GetSketchFormatVersion

func (x *Envelope) GetSketchFormatVersion() uint32

func (*Envelope) ProtoMessage

func (*Envelope) ProtoMessage()

func (*Envelope) ProtoReflect

func (x *Envelope) ProtoReflect() protoreflect.Message

func (*Envelope) Reset

func (x *Envelope) Reset()

func (*Envelope) String

func (x *Envelope) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Exemplar.ProtoReflect.Descriptor instead.

func (*Exemplar) GetAtMs added in v0.2.0

func (x *Exemplar) GetAtMs() int64

func (*Exemplar) GetDurationNs added in v0.2.0

func (x *Exemplar) GetDurationNs() uint64

func (*Exemplar) GetRequestId added in v0.2.0

func (x *Exemplar) GetRequestId() string

func (*Exemplar) GetSpanId added in v0.2.0

func (x *Exemplar) GetSpanId() string

func (*Exemplar) GetStatusCode added in v0.2.0

func (x *Exemplar) GetStatusCode() uint32

func (*Exemplar) GetTraceId added in v0.2.0

func (x *Exemplar) GetTraceId() string

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

func (*Exemplar) Reset added in v0.2.0

func (x *Exemplar) Reset()

func (*Exemplar) String added in v0.2.0

func (x *Exemplar) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Handshake.ProtoReflect.Descriptor instead.

func (*Handshake) GetInstance

func (x *Handshake) GetInstance() string

func (*Handshake) GetSdkVersion

func (x *Handshake) GetSdkVersion() string

func (*Handshake) GetService

func (x *Handshake) GetService() string

func (*Handshake) GetSketchFormatVersion

func (x *Handshake) GetSketchFormatVersion() uint32

func (*Handshake) ProtoMessage

func (*Handshake) ProtoMessage()

func (*Handshake) ProtoReflect

func (x *Handshake) ProtoReflect() protoreflect.Message

func (*Handshake) Reset

func (x *Handshake) Reset()

func (*Handshake) String

func (x *Handshake) String() string

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) 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 (NoStatusReason) String added in v0.2.0

func (x NoStatusReason) String() string

func (NoStatusReason) Type added in v0.2.0

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) 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

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) Descriptor() ([]byte, []int)

Deprecated: Use Summary.ProtoReflect.Descriptor instead.

func (*Summary) GetCount

func (x *Summary) GetCount() uint64

func (*Summary) GetErrorClassBreakdown added in v0.2.0

func (x *Summary) GetErrorClassBreakdown() map[string]uint64

func (*Summary) GetExemplars added in v0.2.0

func (x *Summary) GetExemplars() []*Exemplar

func (*Summary) GetLatencySketch

func (x *Summary) GetLatencySketch() map[int32]uint64

func (*Summary) GetMaxDurationNs added in v0.2.0

func (x *Summary) GetMaxDurationNs() uint64

func (*Summary) GetMethod

func (x *Summary) GetMethod() string

func (*Summary) GetNoStatusReasons added in v0.2.0

func (x *Summary) GetNoStatusReasons() map[uint32]uint64

func (*Summary) GetReqBytes

func (x *Summary) GetReqBytes() uint64

func (*Summary) GetRespBytes

func (x *Summary) GetRespBytes() uint64

func (*Summary) GetRouteTemplate

func (x *Summary) GetRouteTemplate() string

func (*Summary) GetStatusClass

func (x *Summary) GetStatusClass() StatusClass

func (*Summary) GetStatusCodeBreakdown

func (x *Summary) GetStatusCodeBreakdown() map[uint32]uint64

func (*Summary) GetSumDownstreamDurationNs added in v0.2.0

func (x *Summary) GetSumDownstreamDurationNs() uint64

func (*Summary) GetSumDurationNs

func (x *Summary) GetSumDurationNs() uint64

func (*Summary) GetWindowEndMs

func (x *Summary) GetWindowEndMs() int64

func (*Summary) GetWindowStartMs

func (x *Summary) GetWindowStartMs() int64

func (*Summary) ProtoMessage

func (*Summary) ProtoMessage()

func (*Summary) ProtoReflect

func (x *Summary) ProtoReflect() protoreflect.Message

func (*Summary) Reset

func (x *Summary) Reset()

func (*Summary) String

func (x *Summary) String() string

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL