perf-tools
opentracing-javascript
perf-tools | opentracing-javascript | |
---|---|---|
6 | 32 | |
9,601 | 1,090 | |
- | - | |
0.0 | 1.6 | |
5 months ago | over 2 years ago | |
Shell | TypeScript | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
perf-tools
-
The Gems of Moreutils
For execsnoop, people running systems with DTrace can find the same:
* https://github.com/jorgev/dtrace-scripts/blob/master/execsno...
On macOS Monterey+ you'll probably have to install the Kernel Debug Kit per:
* https://developer.apple.com/forums/thread/692444
The Linux variant was written Brendan Gregg (who previous did a lot of work on Solaris, where DTrace was created):
* https://github.com/brendangregg/perf-tools/blob/master/execs...
-
LINUX TOOLS PERFORMANCE for us !
by https://github.com/brendangregg/perf-tools
-
Track what process modify file
It's not a library you can use but you might be able to take inspiration from something like opensnoop.
-
Does any one know how to make perf in wsl2, show the info like Cycles, Instructionis.
There are several tools that might go by the name 'perf', are you talking about this one? https://github.com/brendangregg/perf-tools
-
Which kernel functions are called upon page cache accesses?
I have an application and I'd like to measure its page cache hit/miss numbers. I found this tool called cachestat by Brendan Gregg, which uses the ftrace tool to count the number of 4 specific functions (mark_page_accessed(), mark_buffer_dirty(), add_to_page_cache_lru(), and account_page_dirtied()) to find out the total number of page cache accesses and page cache misses. Detailed information can be found here, but basically, total number of page cache accesses and page cache misses can be calculated as below:
-
Using Distributed Tracing in Microservices Architecture
Program(Process) Tracing (ptrace) Tools: Establishes tracing operation during the execution of the application. Contains the traces of the index of instructions executed and the data referenced during execution. These are greatly used by developers for debugging purposes. Some examples of ptrace tools are, Strace, Ltrace, Opensnoop, and Valgrind Lackey.
opentracing-javascript
-
Kotlin Spring WebFlux, R2DBC and Redisson microservice in k8s πβ¨π«
Spring Spring web framework Spring WebFlux Reactive REST Services Spring Data R2DBC a specification to integrate SQL databases using reactive drivers Redisson Redis Java Client Zipkin open source, end-to-end distributed tracing Spring Cloud Sleuth auto-configuration for distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Kubernetes automating deployment, scaling, and management of containerized applications Docker and docker-compose Helm The package manager for Kubernetes Flywaydb for migrations
-
Go and ElasticSearch full-text search microservice in k8sπβ¨π«
Elasticsearch client for Go RabbitMQ Go RabbitMQ Client Library Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Echo web framework Kibana is user interface that lets you visualize your Elasticsearch Docker and docker-compose Kubernetes K8s Helm The package manager for Kubernetes
-
Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch πβ¨π«
PostgeSQL as event store database Kafka as messages broker gRPC Go implementation of gRPC Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB MongoDB database Elasticsearch Elasticsearch client for Go. Echo web framework Kibana Kibana is data visualization dashboard software for Elasticsearch Migrate for migrations
-
OpenTelemetry vs OpenTracing - choosing one for instrumentation
OpenTracing was an open-source project aimed at providing vendor-neutral APIs and instrumentation for distributed tracing. In distributed cloud-native applications, it is difficult for engineering teams to see how requests are performing across services. And thatβs where distributed tracing comes into the picture.
-
OpenTelemetry and Jaeger | Key concepts, features, and differences
OpenTracing is now archived, and it is suggested to migrate to OpenTelemetry.
- Microservice communication Diagram
-
Go EventSourcing and CQRS microservice using EventStoreDB πβ‘οΈπ«
In this article let's try to create closer to real world Event Sourcing CQRS microservice using: ππ¨βπ»π EventStoreDB The database built for Event Sourcing gRPC Go implementation of gRPC MongoDB Web and API based SMTP testing Elasticsearch Elasticsearch client for Go. Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus swag Swagger for Go Echo web framework Kibana Kibana is user interface that lets you visualize your Elasticsearch
-
Do Not Log
I agree; but I think it'll take years, if ever, to change this culture.
Logging is a byproduct of a past time; everything is a file, stdout is a file, lets persist that file, now we have multiple replicas, lets collect the file into a multi-terabyte searchable database.
The biggest downside: Its WILDLY expensive. Large orgs often have an entire team dedicated to maintaining logging (ELK) infrastructure. This price-tag inevitably leads to bikeshedding on backend teams about how to "reduce the amount we're logging" or "cleaning up the logs" or "structuring them to be more useful".
Outside of development, they are so rarely useful. Yet inevitably someone will say: "you're just not structuring your logs correctly." Maybe that's true; similarly, I don't find vim to be a highly productive editing experience. Maybe I just don't have the thousands of extensions it would take to make it so. Or maybe You're stuck in the past and ignoring two decades of tooling improvement. Both can be true.
I'm phrasing this as a false dichotomy, because in many teams: it is. Logging is easy; its built-in to most languages; so devs log. The information we need is in the system; its a needle in a haystack, but the needle is there. We log when a request comes in, when it hits pertinent functions, when its finished, how its finished, the manager says: "just look at the logs". Instead of "what better tooling can we make an investment in so future investigations of this nature don't take a full day."
For starters: Tracing. Tracing systems should be built-in to EVERY LANGUAGE, just like console.log. We have a standard [1] sponsored by the Linux Foundation and supported by every major trace ingestion system. This is not a problem of camps and proprietary systems; its a problem of culture. I should be able to call a nodejs stdlib function at startup, specify where I want traces to go, sampling rate, etc, and immediately get every single function call instrumented. Its literally just highly-structured-by-default logging! Dump the spans to stdout by default! Our log ingestion systems can read each line, determine if its a span, if so route to trace ingestion, otherwise route to log ingestion.
This is a critical step because it asserts that tracing is actually a very powerful tool that everyone needs to learn, like logging. Everyone knows about logging. Why? console.log. Its there, it gets used. Tracing right now is relegated to a subculture of "advanced diagnostics"; you gotta adopt a tracing provider, bring in dependencies, learn each implementation of OpenTracing, authenticate to send traces over HTTP... as a community, we should normalize just "dump traces like you dump logs, to stdout", have a formatter to make them nice to use in development, and now all that instrumentation work that any dev is capable of utilizing (just like console.log) "just works" in production.
[1] https://opentracing.io/
-
I share my authentication server.
Service mesh - ssup2ket services run on service mesh for detailed traffic control and easy monitoring. Service mesh is applied through Istio. Istio uses OpenTracing for easy request tracing between multiple services.
- logging best practices
What are some alternatives?
mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
kafka-go - Kafka library in Go
Sysdig - Linux system exploration and troubleshooting tool with first class support for containers
opentelemetry-specification - Specifications for OpenTelemetry
strace - strace is a diagnostic, debugging and instructional userspace utility for Linux
prometheus - The Prometheus monitoring system and time series database.
mtr - Official repository for mtr, a network diagnostic tool
signoz - SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. π₯ π₯. π Open source Application Performance Monitoring (APM) & Observability tool
httpstat - curl statistics made simple
opentelemetry-js - OpenTelemetry JavaScript Client
grml - Grmls core configuration files for zsh, vim, screenβ¦
apm-agent-nodejs - Elastic APM Node.js Agent