dotnet / diagnostics

This repository contains the source code for various .NET Core runtime diagnostic tools and documents.
MIT License
1.17k stars 350 forks source link

dotnet trace as client for pyroscope (format) #2068

Open benaadams opened 3 years ago

benaadams commented 3 years ago

Background and Motivation

dotnet trace collect generates large files while tracing so it is more for taking snippets of activity rather than continuous monitoring.

Proposed Feature

If it could act as a Pyroscope Agent then it could be stored in the highly compressed pyroscope format allowing for tracing to operate over much larger time periods (months/years) see: https://github.com/pyroscope-io/pyroscope/blob/main/docs/storage-design.md

data type bytes
raw data 93
tree 58
tree + trie 10

Currently they have clients for Ruby, Python, Go, Linux eBPF and are working on Node. Would be great to have .NET as one of the options too

(Raised issue in pyroscope regarding this too https://github.com/pyroscope-io/pyroscope/issues/117)

petethepig commented 3 years ago

Dmitry from Pyroscope here. We're gonna document the API soon, there's an issue about it on our side https://github.com/pyroscope-io/pyroscope/issues/83

I'll post an update here as soon as we have that done.