Skip to content

Commit 94fc945

Browse files
authored
Update README.md
add original text from RP
1 parent a0cf5fd commit 94fc945

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

examples/README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,23 @@ docker-compose up --build
1010
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%.
1111

1212

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.
16+
![pyroscope_diagram_no_logo-01](https://user-images.githubusercontent.com/23323466/104868724-1194d680-58f9-11eb-96da-c5a4922a95d5.png)
17+
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!
32+
![image](https://user-images.githubusercontent.com/23323466/104861560-2ebfaa00-58e5-11eb-862e-3481f294cbcf.png)

0 commit comments

Comments
 (0)