Metrics

Proto: metrics.proto

Package: rpc.solo.io

Types:

CiliumMetrics

Field Description
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

Field Description
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

Field Description
edgeMetrics (repeated EdgeMetricsResponse.EdgeMetrics)

Metrics over time for a set of network edges.

EdgeMetricsResponse.EdgeMetrics

Field Description
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

Field Description
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

Field Description
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

Field Description
p99 (repeated uint64)

99th percentile request latency.
p90 (repeated uint64)

90th percentile request latency.
p50 (repeated uint64)

50th percentile request latency.

HttpMetrics.Security

Field Description
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

Field Description
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

Field Description
nodeMetrics (repeated NodeMetricsResponse.NodeMetrics)

Metrics for each selected node.

NodeMetricsResponse.NodeMetrics

Field Description
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

Field Description
key (string)

value (int32)

TcpMetrics

Field Description
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

Field Description
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 Name Request Type Response Type Description
GetNodeMetrics NodeMetricsRequest NodeMetricsResponse
GetEdgeMetrics EdgeMetricsRequest EdgeMetricsResponse