Proto: metrics.proto

Package: rpc.solo.io

Types:

CiliumMetrics

FieldDescription
timestamps(repeated google.protobuf.Timestamp)

For information about the value format, see the Google protocol buffer documentation.
forwardedSent(repeated uint64)

forwardedReceived(repeated uint64)

policyDrops(repeated uint64)

EdgeMetricsRequest

FieldDescription
edgeSelectors(repeated EdgeSelector)

Select the edges (i.e. (source, target) workload pairs) whose metrics should be retrieved. Leave empty to retrieve metrics for all edges.
time(google.protobuf.Timestamp)

The time which the metrics represent. Defaults to the present time if not specified. For information about the value format, see the Google protocol buffer documentation.
window(google.protobuf.Duration)

The duration over which the metrics are computed, floored to the minute. I.e. metrics are returned for the time window defined by [time - window, time]. Defaults to 5 minutes. For information about the value format, see the Google protocol buffer documentation.
step(google.protobuf.Duration)

The duration for each sample in the range, floored to the minute. I.e. metrics are returned for the time window defined by [time - window, time]. Defaults to 2 minutes. For information about the value format, see the Google protocol buffer documentation.
istioMetrics(bool)

Return Istio metrics, false by default
ciliumMetrics(bool)

Return Cilium metrics, false by default
tcpMetrics(bool)

Return TCP metrics, false by default

EdgeMetricsResponse

FieldDescription
edgeMetrics(repeated EdgeMetricsResponse.EdgeMetrics)

Metrics over time for a set of network edges.

EdgeMetricsResponse.EdgeMetrics

FieldDescription
sourceWorkloadId(string)

Identifier for the source workload.
targetWorkloadId(string)

Identifier for the target workload.
httpMetrics(HttpMetrics)

HTTP Metrics over time for a network edge with a single source and target.
tcpMetrics(TcpMetrics)

TCP Metrics over time for a network edge with a single source and target
ciliumMetrics(CiliumMetrics)

Cilium Metrics over time for a network edge with a single source and target

EdgeSelector

FieldDescription
sourceWorkloadId(string)

Specify the source workload. If omitted, retrieve edges targeting this workload and originating from any workload.
targetWorkloadId(string)

Specify the target workload. If omitted, retrieve edges originating from this workload and targeting any workload.

HttpMetrics

FieldDescription
timestamps(repeated google.protobuf.Timestamp)

For information about the value format, see the Google protocol buffer documentation.
requestCount(repeated uint64)

The number of requests.
successCount(repeated uint64)

The number of successful requests.
failureCount(repeated uint64)

The number of failed requests.
requestLatencies(HttpMetrics.RequestLatencies)

Percentiles for request latencies, measured in milliseconds.
security(HttpMetrics.Security)

Describes the security policy, if any, applied to this network edge.

HttpMetrics.RequestLatencies

FieldDescription
p99(repeated uint64)

99th percentile request latency.
p90(repeated uint64)

90th percentile request latency.
p50(repeated uint64)

50th percentile request latency.

HttpMetrics.Security

FieldDescription
securityPolicy(string)

Describes the security policy of the connection.
sourcePrincipal(string)

The identity of the source workload, only populated if mTLS is enabled."
destinationPrincipal(string)

The identity of the destination, only populated if mTLS is enabled.

NodeMetricsRequest

FieldDescription
workloadIds(repeated string)

A list of workloads whose metrics should be retrieved. Leave empty to retrieve metrics for all workloads.
time(google.protobuf.Timestamp)

The time which the metrics represent. Defaults to the present time if not specified. For information about the value format, see the Google protocol buffer documentation.
window(google.protobuf.Duration)

The duration over which the metrics are computed, floored to the minute. I.e. metrics are returned for the time window defined by [time - window, time]. Defaults to 5 minutes. For information about the value format, see the Google protocol buffer documentation.
step(google.protobuf.Duration)

The duration for each sample in the range, floored to the minute. I.e. metrics are returned for the time window defined by [time - window, time]. If omitted, defaults to the value of window, which represents a request for a single sample. For information about the value format, see the Google protocol buffer documentation.
istioMetrics(bool)

Return Istio metrics, false by default
ciliumMetrics(bool)

Return Cilium metrics, false by default
tcpMetrics(bool)

Return TCP metrics, false by default

NodeMetricsResponse

FieldDescription
nodeMetrics(repeated NodeMetricsResponse.NodeMetrics)

Metrics for each selected node.

NodeMetricsResponse.NodeMetrics

FieldDescription
workloadId(string)

Identifier for the workload associated with the metrics.
outgoingMetrics(HttpMetrics)

HTTP Metrics over time for all requests originating from a single workload.
incomingMetrics(HttpMetrics)

HTTP Metrics over time for all requests targeting a single workload.
tcpMetrics(TcpMetrics)

ciliumMetrics(CiliumMetrics)

activeEjectionCounts(repeated NodeMetricsResponse.NodeMetrics.ActiveEjectionCountsEntry)

Counts of active ejections for outgoing requests originating from this service. Sidecars must be annotated to record outlier detection in order to populate this data. The key of each k/v pair is a combination of the service/namespace/owner that the ejections are tied to. Due to system limitations, we cannot differentiate between workloads of the ejected service. For example, we could say that the reviews service has ejections, but we wouldn’t know if it’s Caused by reviews-v1, reviews-v2, or both. This is not included in the metrics struct because it is not temporal - active ejections either exist, or they aren’t active anymore. Also this data is node-only.

NodeMetricsResponse.NodeMetrics.ActiveEjectionCountsEntry

FieldDescription
key(string)

value(int32)

TcpMetrics

FieldDescription
timestamps(repeated google.protobuf.Timestamp)

For information about the value format, see the Google protocol buffer documentation.
bytesSent(repeated uint64)

bytesReceived(repeated uint64)

security(TcpMetrics.Security)

Describes the security policy, if any, applied to this network edge.

TcpMetrics.Security

FieldDescription
securityPolicy(string)

Describes the security policy of the connection.
sourcePrincipal(string)

The identity of the source workload, only populated if mTLS is enabled."
destinationPrincipal(string)

The identity of the destination, only populated if mTLS is enabled.

MetricsSource

Method NameRequest TypeResponse TypeDescription
GetNodeMetricsNodeMetricsRequestNodeMetricsResponse
GetEdgeMetricsEdgeMetricsRequestEdgeMetricsResponse