Skip to content

NETOBSERV-2608: TLS, metrics and charts [pf5]#1478

Merged
Amoghrd merged 3 commits into
netobserv:main-pf5from
jotak:tls-overview-pf5
May 13, 2026
Merged

NETOBSERV-2608: TLS, metrics and charts [pf5]#1478
Amoghrd merged 3 commits into
netobserv:main-pf5from
jotak:tls-overview-pf5

Conversation

@jotak
Copy link
Copy Markdown
Member

@jotak jotak commented May 5, 2026

Description

  • Add 4 new overview panels related to TLS:
    • TLS global usage (traffic with/without TLS)
    • breakdown by version
    • breakdown by group
    • breakdown by cipher suite
  • Add new column filter "tls" in manage columns panel
  • Fix issues in logQL when querying on arrays: handle looking for field presence/absence
  • Refactoring: introduce StructuredFlowQuery, an intermediate data structure used before the flow query is entirely serialized for HTTP. It allows to keep and manipulate structured filters for complex queries.

Dependencies

Checklist

  • Does the changes in PR need specific configuration or environment set up for testing?
    • if so please describe it in PR description.
  • I have added thorough unit tests for the change.
  • QE requirements (check 1 from the list):
    • Standard QE validation, with pre-merge tests unless stated otherwise.
    • Regression tests only (e.g. refactoring with no user-facing change).
    • No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

- Add 4 new overview panels related to TLS:
  - TLS global usage (traffic with/without TLS)
  - breakdown by version
  - breakdown by group
  - breakdown by cipher suite
- Add new column filter "tls" in manage columns panel
- Fix issues in logQL when querying on arrays: handle looking for field
  presence/absence
- Refactoring: introduce StructuredFlowQuery, an intermediate data structure used before the flow query is entirely serialized for HTTP.
  It allows to keep and manipulate structured filters for complex queries.
@openshift-ci-robot
Copy link
Copy Markdown
Collaborator

openshift-ci-robot commented May 5, 2026

@jotak: This pull request references NETOBSERV-2608 which is a valid jira issue.

Details

In response to this:

Description

  • Add 4 new overview panels related to TLS:
  • TLS global usage (traffic with/without TLS)
  • breakdown by version
  • breakdown by group
  • breakdown by cipher suite
  • Add new column filter "tls" in manage columns panel
  • Fix issues in logQL when querying on arrays: handle looking for field presence/absence
  • Refactoring: introduce StructuredFlowQuery, an intermediate data structure used before the flow query is entirely serialized for HTTP. It allows to keep and manipulate structured filters for complex queries.

Dependencies

Checklist

  • Does the changes in PR need specific configuration or environment set up for testing?
    • if so please describe it in PR description.
  • I have added thorough unit tests for the change.
  • QE requirements (check 1 from the list):
  • Standard QE validation, with pre-merge tests unless stated otherwise.
  • Regression tests only (e.g. refactoring with no user-facing change).
  • No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign mffiedler for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jotak
Copy link
Copy Markdown
Member Author

jotak commented May 5, 2026

(I haven't tested yet the no-loki scenario, need to do that)

edit: test done

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b399371a-dafd-4408-8c5b-b477bdfd6d35

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

❌ Patch coverage is 50.27322% with 91 lines in your changes missing coverage. Please review.
✅ Project coverage is 52.33%. Comparing base (acc8a6f) to head (a35f623).
⚠️ Report is 8 commits behind head on main-pf5.

Files with missing lines Patch % Lines
...ponents/tabs/netflow-overview/netflow-overview.tsx 34.83% 53 Missing and 5 partials ⚠️
web/src/utils/back-and-forth.ts 71.42% 6 Missing and 2 partials ⚠️
pkg/model/filters/logql.go 0.00% 6 Missing ⚠️
pkg/loki/topology_query.go 61.53% 5 Missing ⚠️
pkg/loki/flow_query.go 75.00% 4 Missing ⚠️
web/src/utils/metrics.ts 0.00% 3 Missing ⚠️
pkg/prometheus/inventory.go 50.00% 1 Missing and 1 partial ⚠️
web/src/components/metrics/metrics-donut.tsx 33.33% 1 Missing and 1 partial ⚠️
web/src/utils/overview-panels.ts 66.66% 2 Missing ⚠️
web/src/model/filters.ts 50.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           main-pf5    #1478      +/-   ##
============================================
- Coverage     52.53%   52.33%   -0.21%     
============================================
  Files           232      232              
  Lines         12355    12454      +99     
  Branches       1551     1562      +11     
============================================
+ Hits           6491     6518      +27     
- Misses         5269     5337      +68     
- Partials        595      599       +4     
Flag Coverage Δ
uitests 56.45% <48.61%> (-0.29%) ⬇️
unittests 40.92% <56.41%> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
web/src/api/loki.ts 84.61% <ø> (-1.60%) ⬇️
...b/src/components/drawer/netflow-traffic-drawer.tsx 47.70% <ø> (ø)
web/src/components/messages/empty.tsx 51.35% <ø> (+1.35%) ⬆️
web/src/components/messages/error.tsx 23.68% <ø> (+0.30%) ⬆️
web/src/components/metrics/metrics-graph.tsx 90.00% <ø> (ø)
web/src/components/modals/columns-modal.tsx 56.00% <100.00%> (ø)
web/src/components/modals/export-modal.tsx 68.57% <ø> (ø)
web/src/components/slider/scope-slider.tsx 90.00% <ø> (ø)
web/src/model/config.ts 100.00% <ø> (ø)
web/src/model/flow-query.ts 91.66% <100.00%> (+1.66%) ⬆️
... and 12 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Simplify TLS usage donut to show just TLS vs Other (it's
      easier to achieve with prom metrics)
- Show % of TLS rather than total Pps
- Fix a couple of JS warnings
@jotak jotak force-pushed the tls-overview-pf5 branch from de5d299 to cb0da63 Compare May 6, 2026 14:24
@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 6, 2026

/ok-to-test

@openshift-ci openshift-ci Bot added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 6, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

New image:

quay.io/netobserv/network-observability-console-plugin:1654466

It will expire in two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=1654466 make set-plugin-image

Donut legend will not be dispayed anymore when rendered on small
screens. It's still available as a tooltip though.
@github-actions github-actions Bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 11, 2026
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 11, 2026
@jotak jotak requested a review from jpinsonneau May 11, 2026 09:50
@jotak
Copy link
Copy Markdown
Member Author

jotak commented May 11, 2026

@Amoghrd I added a fix for the legend overlap on donuts: when it lacks space, it won't display the legend anymore. The legend information is still available through the tooltips though.

@github-actions
Copy link
Copy Markdown

New image:

quay.io/netobserv/network-observability-console-plugin:1a22788

It will expire in two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=1a22788 make set-plugin-image

@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 11, 2026

/label qe-approved

@openshift-ci openshift-ci Bot added the qe-approved QE has approved this pull request label May 11, 2026
@jotak jotak added the needs-review Tells that the PR needs a review label May 12, 2026
@jpinsonneau
Copy link
Copy Markdown
Member

@jotak are you going to cherry pick that on main ?

@openshift-ci openshift-ci Bot added the lgtm label May 13, 2026
@Amoghrd Amoghrd merged commit 66d66c0 into netobserv:main-pf5 May 13, 2026
14 of 15 checks passed
@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 15, 2026

/cherry-pick main

@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@Amoghrd: new pull request created: #1530

Details

In response to this:

/cherry-pick main

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 15, 2026

@jotak Should it be cherry-picked to main-pf4 branch as well?

@Amoghrd Amoghrd mentioned this pull request May 15, 2026
6 tasks
@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 15, 2026

/cherry-pick main-pf4

@openshift-cherrypick-robot
Copy link
Copy Markdown
Contributor

@Amoghrd: #1478 failed to apply on top of branch "main-pf4":

Applying: NETOBSERV-2608: TLS, metrics and charts [pf5]
Using index info to reconstruct a base tree...
M	config/sample-config.yaml
M	pkg/loki/flow_query.go
M	pkg/model/filters/logql.go
M	web/locales/en/plugin__netobserv-plugin.json
M	web/src/api/loki.ts
M	web/src/api/routes.ts
M	web/src/components/drawer/netflow-traffic-drawer.tsx
M	web/src/components/metrics/metrics-donut.tsx
M	web/src/components/modals/__tests__/export-modal.spec.tsx
M	web/src/components/modals/columns-modal.tsx
M	web/src/components/modals/export-modal.tsx
M	web/src/components/tabs/netflow-overview/__tests__/netflow-overview.spec.tsx
M	web/src/components/tabs/netflow-overview/netflow-overview.tsx
M	web/src/model/config.ts
M	web/src/model/filters.ts
M	web/src/model/flow-query.ts
A	web/src/model/netflow-context.ts
M	web/src/utils/__tests__/back-and-forth.spec.ts
M	web/src/utils/back-and-forth.ts
M	web/src/utils/metrics.ts
A	web/src/utils/netflow-capabilities-hook.ts
M	web/src/utils/overview-panels.ts
Falling back to patching base and 3-way merge...
Auto-merging web/src/utils/overview-panels.ts
CONFLICT (modify/delete): web/src/utils/netflow-capabilities-hook.ts deleted in HEAD and modified in NETOBSERV-2608: TLS, metrics and charts [pf5]. Version NETOBSERV-2608: TLS, metrics and charts [pf5] of web/src/utils/netflow-capabilities-hook.ts left in tree.
Auto-merging web/src/utils/metrics.ts
Auto-merging web/src/utils/back-and-forth.ts
CONFLICT (content): Merge conflict in web/src/utils/back-and-forth.ts
Auto-merging web/src/utils/__tests__/back-and-forth.spec.ts
CONFLICT (content): Merge conflict in web/src/utils/__tests__/back-and-forth.spec.ts
CONFLICT (modify/delete): web/src/model/netflow-context.ts deleted in HEAD and modified in NETOBSERV-2608: TLS, metrics and charts [pf5]. Version NETOBSERV-2608: TLS, metrics and charts [pf5] of web/src/model/netflow-context.ts left in tree.
Auto-merging web/src/model/flow-query.ts
CONFLICT (content): Merge conflict in web/src/model/flow-query.ts
Auto-merging web/src/model/filters.ts
Auto-merging web/src/model/config.ts
Auto-merging web/src/components/tabs/netflow-overview/netflow-overview.tsx
CONFLICT (content): Merge conflict in web/src/components/tabs/netflow-overview/netflow-overview.tsx
Auto-merging web/src/components/tabs/netflow-overview/__tests__/netflow-overview.spec.tsx
CONFLICT (content): Merge conflict in web/src/components/tabs/netflow-overview/__tests__/netflow-overview.spec.tsx
Auto-merging web/src/components/modals/export-modal.tsx
Auto-merging web/src/components/modals/columns-modal.tsx
CONFLICT (content): Merge conflict in web/src/components/modals/columns-modal.tsx
Auto-merging web/src/components/modals/__tests__/export-modal.spec.tsx
CONFLICT (content): Merge conflict in web/src/components/modals/__tests__/export-modal.spec.tsx
Auto-merging web/src/components/metrics/metrics-donut.tsx
CONFLICT (content): Merge conflict in web/src/components/metrics/metrics-donut.tsx
Auto-merging web/src/components/drawer/netflow-traffic-drawer.tsx
CONFLICT (content): Merge conflict in web/src/components/drawer/netflow-traffic-drawer.tsx
Auto-merging web/src/api/routes.ts
Auto-merging web/src/api/loki.ts
CONFLICT (content): Merge conflict in web/src/api/loki.ts
Auto-merging web/locales/en/plugin__netobserv-plugin.json
Auto-merging pkg/model/filters/logql.go
Auto-merging pkg/loki/flow_query.go
CONFLICT (content): Merge conflict in pkg/loki/flow_query.go
Auto-merging config/sample-config.yaml
CONFLICT (content): Merge conflict in config/sample-config.yaml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 NETOBSERV-2608: TLS, metrics and charts [pf5]

Details

In response to this:

/cherry-pick main-pf4

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@Amoghrd
Copy link
Copy Markdown
Member

Amoghrd commented May 15, 2026

Just wanted to try if automatic cherry-pick works. Seems like it needs to be manually cherry-picked if needed

@jotak
Copy link
Copy Markdown
Member Author

jotak commented May 18, 2026

@Amoghrd yes, features in general are not backported on pf4
thanks for the cherry-pick to main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference lgtm needs-review Tells that the PR needs a review ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. qe-approved QE has approved this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants