@@ -8,7 +8,7 @@ Think of it as a set of named atomic counters that are:
88- ** Fast** - lock and allocation free, faster than ` map[string]int ` in both single-threaded and concurrent scenarios
99- ** Nice to look at** - clean, readable terminal output that updates in-place
1010- ** Log-friendly** - don't interfere with your application's log output
11- - ** Minimalistic** - no dependencies, tiny API
11+ - ** Minimalistic** - no dependencies, no configuration, tiny API
1212
1313
1414## Installation
@@ -40,17 +40,17 @@ Check out a complete example [here](/example/main.go).
4040## When to Use
4141This library is a good fit for CLI applications that do concurrent work.
4242When running tasks across multiple goroutines, you usually need to track their progress -
43- the number of completed tasks, errors, tasks currently in progress. You may also want to track dynamic categories -
44- like counting errors by type - "validation_error", "network_error", etc.
43+ the number of tasks that are completed, failed or currently in progress. You may also want to track dynamic categories -
44+ different kinds of tasks, or types of errors (e.g., "validation_error", "network_error", etc) .
4545
4646When running the app in terminal, you want to see a clean progress report that updates in real-time,
4747while keeping your normal application logs readable and separate.
4848
4949Another example is running such apps in Kubernetes. For simple one-off pods, instead of configuring metrics and dashboards, you
5050may just want to watch the logs and progress reports in real-time with ` kubectl logs -f ` .
5151
52- DSPC can also help to debug concurrent applications - just add a few counters to see what's moving and what's stuck,
53- without setting up complex instrumentation .
52+ DSPC can also help to debug concurrent applications too.
53+ Add a few counters across your goroutines to see which ones are making progress and which ones are stuck .
5454
5555If such use cases sound familiar, DSPC is what you need.
5656
0 commit comments