You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/README.md
+20-1Lines changed: 20 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,4 +10,23 @@ docker-compose up --build
10
10
These are very simple projects where the application is basically one `while true` loop and inside that loop it calls a slow function and a fast function. Slow function takes about 80% of the time and the fast one takes about 20%.
11
11
12
12
13
-
Text
13
+
# How Pyroscope works
14
+
Pyroscope is open-source software that allows you to continuously profile your code to debug performance issues down the line of code.
15
+
If you haven't used profilers before, then welcome.
If you are familiar with profiling / flamegraphs, then you should know that Pyroscope:
18
+
- Requires very minimal overhead
19
+
- Is designed in a way that **it can store years of your applications perf data down to 10 second granularity.**
20
+
There are two main components that allow Pyroscope to do this:
21
+
## Pyroscope agent
22
+
The Pyroscope agent wraps around your Python, Ruby, or Go application to poll the stacktrace (100 times per second) to calculate which function is consuming your CPU resources.
23
+
This simply means that 100 times a second Pyroscope records what function is currently using CPU to do some work or calculate something.
24
+
## Pyroscope Server
25
+
Pyroscope records and aggregates what your application has been doing, it then sends that data to the Pyroscope server over port `:4040`
26
+
Then here, the data is processed, aggregated, and stored ([BadgerDB](https://github.com/dgraph-io/badger)) in a way which allows for you to **quickly** query any time range:
27
+
-[x] all of 2020
28
+
-[x] that one day that weird thing happened last month
29
+
-[x] that time you deployed on a friday and everything went to s*** and nobody knew why
30
+
-[x] A random 10 second span anytime ever that you only are querying to see if this is legit
31
+
We've been running a demo in production for a while now. Check out our [Demo Page](https://demo.pyroscope.io/) and select any time range to see how quick it is!
0 commit comments