Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions api/flowmetrics/v1alpha1/flowmetric_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ type FlowMetricSpec struct {
// +required
Type MetricType `json:"type"`

// Help text of the metric, as it appears in Prometheus.
// +optional
Help string `json:"help,omitempty"`

// `valueField` is the flow field that must be used as a value for this metric (for example: `Bytes`). This field must hold numeric values.
// Leave empty to count flows rather than a specific value per flow.
// Refer to the documentation for the list of available fields: https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/network_observability/json-flows-format-reference.
Expand Down
3 changes: 3 additions & 0 deletions bundle/manifests/flows.netobserv.io_flowmetrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ spec:
items:
type: string
type: array
help:
description: Help text of the metric, as it appears in Prometheus.
type: string
labels:
description: |-
`labels` is a list of fields that should be used as Prometheus labels, also known as dimensions (for example: `SrcK8S_Namespace`).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ metadata:
categories: Monitoring, Networking, Observability
console.openshift.io/plugins: '["netobserv-plugin"]'
containerImage: quay.io/netobserv/network-observability-operator:1.9.2-community
createdAt: "2025-09-30T17:05:14Z"
createdAt: "2025-10-01T10:32:51Z"
description: Network flows collector and monitoring solution
operatorframework.io/initialization-resource: '{"apiVersion":"flows.netobserv.io/v1beta2",
"kind":"FlowCollector","metadata":{"name":"cluster"},"spec": {}}'
Expand Down
3 changes: 3 additions & 0 deletions config/crd/bases/flows.netobserv.io_flowmetrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ spec:
items:
type: string
type: array
help:
description: Help text of the metric, as it appears in Prometheus.
type: string
labels:
description: |-
`labels` is a list of fields that should be used as Prometheus labels, also known as dimensions (for example: `SrcK8S_Namespace`).
Expand Down
7 changes: 7 additions & 0 deletions docs/FlowMetric.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,13 @@ Refer to the documentation for the list of available fields: https://docs.redhat
For instance, when flattening `Interfaces` on a bytes counter, a flow having Interfaces [br-ex, ens5] increases one counter for `br-ex` and another for `ens5`.<br/>
</td>
<td>false</td>
</tr><tr>
<td><b>help</b></td>
<td>string</td>
<td>
Help text of the metric, as it appears in Prometheus.<br/>
</td>
<td>false</td>
</tr><tr>
<td><b>labels</b></td>
<td>[]string</td>
Expand Down
8 changes: 5 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@ require (
github.com/netsampler/goflow2 v1.3.7 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_golang v1.23.0 // indirect
github.com/prometheus/client_golang v1.23.2 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/procfs v0.17.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.9 // indirect
github.com/spf13/pflag v1.0.10 // indirect
github.com/stoewer/go-strcase v1.3.1 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/x448/float16 v0.8.4 // indirect
Expand Down Expand Up @@ -104,7 +104,7 @@ require (
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
google.golang.org/grpc v1.75.0 // indirect
google.golang.org/grpc v1.75.1 // indirect
google.golang.org/protobuf v1.36.8 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
Expand All @@ -118,3 +118,5 @@ require (
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
)

replace github.com/netobserv/flowlogs-pipeline => github.com/jpinsonneau/flowlogs-pipeline v0.1.9-rc1.0.20251001081611-41d20711f48a
36 changes: 18 additions & 18 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/jpinsonneau/flowlogs-pipeline v0.1.9-rc1.0.20251001081611-41d20711f48a h1:LsADP4IZfGAS55b8HTYtxgqIynWR92GVMyi002XkNeo=
github.com/jpinsonneau/flowlogs-pipeline v0.1.9-rc1.0.20251001081611-41d20711f48a/go.mod h1:9rG9AeMpoh5LIkjgXpRjvjE7DI3gwvAsVqTJIsWRqZk=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
Expand All @@ -103,8 +105,6 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/netobserv/flowlogs-pipeline v1.9.2-community h1:RYwbuxFCghfTyufn1QiSo2TPWeb69pg2SvQorglwFnc=
github.com/netobserv/flowlogs-pipeline v1.9.2-community/go.mod h1:shv+KbOGiM2IYWPQWjVOcuaXu/y/ZdBIem59wLAVQ/M=
github.com/netobserv/netobserv-ebpf-agent v1.9.2-community h1:ghW16OO4QRWj0Uh1gMYX+NjAlgx2sZmCsO3Tkwoj4Do=
github.com/netobserv/netobserv-ebpf-agent v1.9.2-community/go.mod h1:17OaUNAwx0LxoeV/SaHlJIJP6bpN7zSvUP3GtZelESQ=
github.com/netsampler/goflow2 v1.3.7 h1:XZaTy8kkMnGXpJ9hS3KbO1McyrFTpVNhVFEx9rNhMmc=
Expand All @@ -126,8 +126,8 @@ github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.85.0 h1:oY+F5FZFmCjCyzkHWPjVQpzvnvEB/0FP+iyzDUUlqFc=
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.85.0/go.mod h1:VB7wtBmDT6W2RJHzsvPZlBId+EnmeQA0d33fFTXvraM=
github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc=
github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE=
github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs=
Expand All @@ -137,23 +137,23 @@ github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUO
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k=
github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk=
github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc=
github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw=
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U=
github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I=
github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg=
github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU=
github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY=
github.com/stoewer/go-strcase v1.3.1 h1:iS0MdW+kVTxgMoE1LAZyMiYJFKlOzLooE4MxjirtkAs=
github.com/stoewer/go-strcase v1.3.1/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
Expand Down Expand Up @@ -258,8 +258,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4=
google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI=
google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
3 changes: 3 additions & 0 deletions helm/crds/flows.netobserv.io_flowmetrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ spec:
items:
type: string
type: array
help:
description: Help text of the metric, as it appears in Prometheus.
type: string
labels:
description: |-
`labels` is a list of fields that should be used as Prometheus labels, also known as dimensions (for example: `SrcK8S_Namespace`).
Expand Down
1 change: 1 addition & 0 deletions internal/controller/flp/flp_pipeline_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,7 @@ func flowMetricToFLP(fm *metricslatest.FlowMetric) (*api.MetricsItem, error) {
m := &api.MetricsItem{
Name: metricName,
Type: api.MetricEncodeOperationEnum(strings.ToLower(string(fm.Spec.Type))),
Help: fm.Spec.Help,
Filters: []api.MetricsFilter{},
Labels: fm.Spec.Labels,
Remap: remap,
Expand Down
1 change: 1 addition & 0 deletions internal/pkg/helper/otel/otel_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ func GetOtelMetrics(flpMetrics []api.MetricsItem) ([]api.MetricsItem, error) {
otelMetrics = append(otelMetrics, api.MetricsItem{
Name: convertToOtelLabel(otelRules, m.Name),
Type: m.Type,
Help: m.Help,
Filters: convertToOtelFilters(otelRules, m.Filters),
ValueKey: convertToOtelLabel(otelRules, m.ValueKey),
Labels: convertToOtelLabels(otelRules, m.Labels),
Expand Down
10 changes: 10 additions & 0 deletions internal/pkg/metrics/predefined_metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_%s_%s_total", groupTrimmed, lowDir, vt),
Type: metricslatest.CounterMetric,
Help: fmt.Sprintf("Total %s per %s in %s direction", vt, groupTrimmed, lowDir),
ValueField: valueField,
Direction: dir,
Labels: labels,
Expand All @@ -70,6 +71,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_sampling", groupTrimmed),
Type: metricslatest.GaugeMetric,
Help: fmt.Sprintf("Sampling per %s", groupTrimmed),
ValueField: "Sampling",
Labels: labels,
},
Expand All @@ -80,6 +82,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_flows_total", groupTrimmed),
Type: "counter",
Help: fmt.Sprintf("Total flows per %s", groupTrimmed),
Labels: labels,
},
tags: []string{group, group + "-flows", "flows"},
Expand All @@ -93,6 +96,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_rtt_seconds", groupTrimmed),
Type: metricslatest.HistogramMetric,
Help: fmt.Sprintf("Round-trip time latency in seconds per %s", groupTrimmed),
ValueField: "TimeFlowRttNs",
Filters: []metricslatest.MetricFilter{
{Field: "TimeFlowRttNs", MatchType: metricslatest.MatchPresence},
Expand All @@ -115,6 +119,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_drop_packets_total", groupTrimmed),
Type: metricslatest.CounterMetric,
Help: fmt.Sprintf("Total dropped packets per %s", groupTrimmed),
ValueField: "PktDropPackets",
Filters: []metricslatest.MetricFilter{
{Field: "PktDropPackets", MatchType: metricslatest.MatchPresence},
Expand All @@ -128,6 +133,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_drop_bytes_total", groupTrimmed),
Type: metricslatest.CounterMetric,
Help: fmt.Sprintf("Total dropped bytes per %s", groupTrimmed),
ValueField: "PktDropBytes",
Filters: []metricslatest.MetricFilter{
{Field: "PktDropBytes", MatchType: metricslatest.MatchPresence},
Expand All @@ -148,6 +154,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_dns_latency_seconds", groupTrimmed),
Type: metricslatest.HistogramMetric,
Help: fmt.Sprintf("DNS latency in seconds per %s", groupTrimmed),
ValueField: "DnsLatencyMs",
Filters: []metricslatest.MetricFilter{
{Field: "DnsId", MatchType: metricslatest.MatchPresence},
Expand All @@ -171,6 +178,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_network_policy_events_total", groupTrimmed),
Type: "counter",
Help: fmt.Sprintf("Total network policy events per %s", groupTrimmed),
Labels: netpolLabels,
Filters: []metricslatest.MetricFilter{{Field: "NetworkEvents>Feature", Value: "acl"}},
Flatten: []string{"NetworkEvents"},
Expand All @@ -197,6 +205,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: fmt.Sprintf("%s_ipsec_flows_total", groupTrimmed),
Type: metricslatest.CounterMetric,
Help: fmt.Sprintf("Total IPsec encrypted flows per %s", groupTrimmed),
Filters: []metricslatest.MetricFilter{{Field: "IPSecStatus", MatchType: metricslatest.MatchPresence}},
Labels: ipsecLabels,
Charts: ipsecStatusChart(group),
Expand All @@ -209,6 +218,7 @@ func init() {
FlowMetricSpec: metricslatest.FlowMetricSpec{
MetricName: "node_to_node_ingress_flows_total",
Type: metricslatest.CounterMetric,
Help: "Total ingress flows between nodes",
Labels: mapLabels[tagNodes],
Filters: []metricslatest.MetricFilter{
{Field: "FlowDirection", Value: "2", MatchType: metricslatest.MatchNotEqual},
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading