Skip to content
This repository has been archived by the owner on Jul 4, 2024. It is now read-only.
/ doggo Public archive

πŸ•πŸ”Ž Inspecting big Datadog traces in the CLI

License

Notifications You must be signed in to change notification settings

mcataford/doggo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

doggo

πŸ•πŸ”Ž Inspecting big Datadog traces in the CLI

✈️ Moved away!

This project has moved away from Github and is now hosted elsewhere.

Why?

The Datadog trace-viewing UI performance greatly degrades as the number of spans in a single trace increases and within a trace, it is often painful to find the span you are interested in as there is no way to "jump" to a span directly.

This is an attempt at solving that problem: using doggo, you can inspect large trace json blobs and get to the subtree corresponding to spans of interest in a few keystrokes without having to worry about your browser running out of memory. At present, you will have to have the json you want to inspect handy -- the tool simply makes it more palatable.

Installation

Pre-built binaries

Each release includes pre-built binaries, drop those in your path (i.e. in /usr/local/bin) and you are ready to go!

Building your own

You can also clone this repository and go build . to get your own executable.

Usage

To get doggo on your machine, you can grab a pre-compiled release for your machine if one is available or build it locally by cloning the repository and running go build.

You can either include the executable in your $PATH or run the executable wherever it lives:

doggo <path-to-trace-json> <resource-name> [-vv] [--depth={depth-limit}]

The resource-name provided is the resource name associated with the spans that interest you in the provided trace. Doggo will display all the span subtrees up to depth-limit depth (unlimited depth if not specified) that have a resource name that matches your query (either complete or partial).

Default verbosity will include resource names and span duration in millis. Adding -v will toss in some extra information about each resource and -vv will include any metadata (i.e. tagging) that is available in the trace for that span.

Contributing

Doggo welcomes contributions. The main use case is pretty tailored to my day-to-day, but sensible suggested changes are welcome!

About

πŸ•πŸ”Ž Inspecting big Datadog traces in the CLI

Topics

Resources

License

Stars

Watchers

Forks

Languages