The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes
Go to file
Nimrod Gilboa Markevich ab38f4c011
Add profiling tools (#1087)
* Add gin-contrib/pprof dependency

* Run pprof server on agent with --profiler flag

* Add --profiler flag to cli

* Fix error message

* Print cpu usage percentage

* measure cpu of current pid instead of globaly on the system

* Add scripts to plot performance

* Plot packetsCount in analysis

* Concat to DataFrame

* Plot in turbo colorscheme

* Make COLORMAP const

* Fix rss units

* Reduce code repetition by adding function for plotting

* Allow grouping based on filenames

* Temporary: Marked with comments where to disable code for experiments

* Add newline at end of file

* Add tap.cpuprofile flag. Change memprofile flag to tap.memprofile

* create tapper modes for debugging using env vars

* Fix rss plot units (MB instead of bytes)

* Remove comment

* Add info to plot script

* Remove tap.cpumemprofile. Rename tap.memprofile to memprofile

* Remove unused import

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Remove whitespaces

Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>

* Rename debug env vars

* Create package for debug env vars, read each env var once

* Run go mod tidy

* Increment MatchedPairs before emitting

* Only count cores once

* Count virtual and physical cores

* Add dbgctl replace in cli

* Fix lint: Check return values

* Add tap/dbgctl to test-lint make rule

* Replace tap/dbgctl in all modules

* #run_acceptance_tests

* Copy dbgctl module to docker image

* Debug/profile tapper benchmark (#1093)

* add mizu debug env to avoid all extensions

* add readme + run_tapper_benchmark.sh

* temporary change branch name

* fix readme

* fix MIZU_BENCHMARK_CLIENTS_COUNT env

* change tap target to tcp stream

* track live tcp streams

* pr fixes

* rename tapperPacketsCount to ignored_packets_count

* change mizu tapper to mizu debugg

Co-authored-by: David Levanon <dvdlevanon@gmail.com>
Co-authored-by: M. Mert Yıldıran <mehmet@up9.com>
2022-05-18 15:42:13 +03:00
.github Move "es Lint" to different step and add go lint on logger module (#1064) 2022-05-02 10:01:41 +03:00
acceptanceTests Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
agent Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
assets Update the UI screenshots (#476) 2021-11-16 22:44:31 +03:00
cli Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
devops Add from ARM64 to AMD64 cross-compilation support to the agent image (#910) 2022-05-02 11:16:05 +03:00
docs Readme changes: moving all usage documentation to getmizu.io, and have only dev documentation in Github (#879) 2022-03-06 10:44:37 +02:00
logger Make logger a separate module such that don't depend on shared module as a whole for logging (#1047) 2022-04-27 22:26:27 +03:00
performance_analysis Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
shared Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
tap Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
ui update craco config to resolve material ui instances (#1060) 2022-05-01 16:05:53 +03:00
ui-common Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
.dockerignore Split UI build (#681) 2022-01-24 10:02:35 +02:00
.gitignore Fix acceptance tests failures caused by fetch 50 and a race in the tests (#1074) 2022-05-11 13:14:01 +03:00
codecov.yml codecov yml for tests threshold (#214) 2021-08-15 12:19:00 +03:00
Dockerfile Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
LICENSE Initial commit 2021-04-19 13:29:56 +03:00
Makefile Add profiling tools (#1087) 2022-05-18 15:42:13 +03:00
README.md Readme changes: moving all usage documentation to getmizu.io, and have only dev documentation in Github (#879) 2022-03-06 10:44:37 +02:00

Mizu: The API Traffic Viewer for Kubernetes

GitHub License GitHub Latest Release Docker pulls Image size Slack

The API Traffic Viewer for Kubernetes

A simple-yet-powerful API traffic viewer for Kubernetes enabling you to view all API communication between microservices to help your debug and troubleshoot regressions.

Think TCPDump and Wireshark re-invented for Kubernetes.

Simple UI

Quickstart and documentation

You can run Mizu on any Kubernetes cluster (version of 1.16.0 or higher) in a matter of seconds. See the Mizu Getting Started Guide for how.

For more comprehensive documentation, start with the docs.

Working in this repo

We ❤️ pull requests! See CONTRIBUTING.md for info on contributing changes.
In the wiki you can find an intorduction to mizu components, and development workflows.

Code of Conduct

This project is for everyone. We ask that our users and contributors take a few minutes to review our Code of Conduct.