README


Open-source observability augmented with actionable insights
Collecting metrics, logs, and traces alone doesn't make your applications observable.
Coroot turns that data into actionable insights for you!
Features
Zero-instrumentation observability
- Metrics, logs, traces, and profiles are gathered automatically by using eBPF
- Coroot provides you with a Service Map that covers 100% of your system with no blind spots
- Predefined inspections audit each application without any configuration

Application Health Summary
- Easily understand the status of your services, even when dealing with hundreds of them
- Gain insight into application logs without the need to manually inspect each one
- SLOs (Service Level Objectives) tracking

Explore any outlier requests with distributed tracing
- Investigate any anomaly with just one click
- Vendor-neutral instrumentation with OpenTelemetry
- Are you unable to instrument legacy or third-party services?
Coroot's eBPF-based instrumentation can capture requests without requiring any code changes.

Grasp insights from logs with just a quick glance
- Log patterns: out-of-the-box event clustering
- Seamless logs-to-traces correlation
- Lightning-fast search based on ClickHouse

Profile any application in 1 click
- Analyze any unexpected spike in CPU or memory usage down to the precise line of code
- Don't make assumptions, know exactly what the resources were spent on
- Easily investigate any anomaly by comparing it to the system's baseline behavior

Built-in expertise
- Coroot can automatically identify over 80% of issues
- If an app is not meeting its Service Level Objectives (SLOs), Coroot will send a single alert that includes the results of all relevant inspections
- You can easily adjust any inspection for a particular application or an entire project

Deployment Tracking
- Coroot discovers and monitors every application rollout in your Kubernetes cluster
- Requires no integration with your CI/CD pipeline
- Each release is automatically compared with the previous one, so you'll never miss even the slightest performance degradation
- With integrated Cost Monitoring, developers can track how each change affects their cloud bill

Cost Monitoring
- Understand your cloud costs down to the specific application
- Doesn't require access to you cloud account or any other configurations
- AWS, GCP, Azure

Installation
You can run Coroot as a Docker container or deploy it into any Kubernetes cluster.
Check out the Installation guide.
Documentation
The Coroot documentation is available at docs.coroot.com/docs.
Live demo
A live demo of Coroot is available at demo.coroot.com
Community & Support
Contributing
To start contributing, check out our Contributing Guide.
License
Coroot is licensed under the Apache License, Version 2.0.
Extension points exported contracts — how you extend this code
Form (Interface)
(no doc) [28 implementers]
api/forms/forms.go
Table (Interface)
(no doc) [12 implementers]
db/db.go
NotificationClient (Interface)
(no doc) [5 implementers]
notifications/notifications.go
Cache (Interface)
(no doc) [3 implementers]
constructor/constructor.go
Client (Interface)
(no doc) [2 implementers]
prom/client.go
SeriesData (Interface)
(no doc) [2 implementers]
model/chart.go
RoleManager (Interface)
(no doc) [1 implementers]
rbac/role.go
FilterLabelsF (FuncType)
(no doc)
prom/utils.go
Core symbols most depended-on inside this repo
merge
called by 200
constructor/utils.go
Value
called by 149
model/check.go
AddSeries
called by 140
model/chart.go
Last
called by 129
timeseries/timeseries.go
String
called by 123
model/status.go
GetOrCreateChart
called by 123
model/chart.go
Add
called by 117
timeseries/time.go
Close
called by 111
prom/client.go
Shape
Method
1,084
Function
537
Struct
531
TypeAlias
64
Interface
12
Class
8
FuncType
6
Languages
Go95%
TypeScript5%
Modules by API surface
api/forms/forms.go85 symbols
front/src/api.js62 symbols
api/mcp.go59 symbols
api/api.go53 symbols
rbac/actions.go50 symbols
model/check.go47 symbols
model/chart.go45 symbols
constructor/constructor.go37 symbols
timeseries/timeseries.go35 symbols
db/alert.go34 symbols
model/application.go32 symbols
clickhouse/traces.go30 symbols
Dependencies from manifests, versioned
github.com/ClickHouse/ch-gov0.62.0 · 1×
github.com/DataDog/golz4v1.3.0 · 1×
github.com/PagerDuty/go-pagerdutyv1.6.0 · 1×
github.com/alecthomas/templatev0.0.0-2019071801265 · 1×
github.com/alecthomas/unitsv0.0.0-2024062620395 · 1×
github.com/andybalholm/brotliv1.0.5 · 1×
github.com/atc0005/go-teams-notify/v2v2.13.0 · 1×
github.com/bahlo/generic-list-gov0.2.0 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/cespare/xxhash/v2v2.3.0 · 1×
Datastores touched
corootDatabase · 1 repos
(mongodb)Database · 1 repos
dbnameDatabase · 1 repos