SkyWalking's own data model comes through intact — MQE expressions, layers, the four topology views — so an agent can follow a latency spike from the service down to the process without you translating anything. The metadata tools matter more than they look: services, instances and endpoints have to be named the way OAP names them, and these are what get that right before a query runs.
Apache SkyWalking's own server against an OAP backend, covering traces, logs, MQE metrics, service metadata, events, alarms and topology.
- Traces queried on service, endpoint, state, tags and a time range, in full, summary or errors-only views with performance insights attached
- Logs filtered by service, instance, endpoint, trace id, tags and time, with cold storage and pagination
- Metrics through MQE: run an expression with calculations, aggregations, TopN and trend analysis, list the available metrics by regex, and check a metric's type before writing the expression
- The metadata you need to name things correctly — layers, the services in a layer, a service's instances, its endpoints with keyword filtering, and the processes on an instance
- Events such as deployments, restarts and scaling, filtered by service, instance, endpoint, type and layer
- Alarms from metric threshold breaches, filtered by scope, keyword and tags
- Topology at four levels: global or scoped service topology, instance topology between a client and a server service, endpoint dependencies, and process topology for an instance
- Prompts that assemble the usual investigations — analyse a service's performance, compare services, rank the top N by a metric, deep-dive one trace, explore a layer's topology, build an MQE expression, and turn a phrase like "last two hours" into a start and end pair
- A read-only flag that restricts the server to read operations
A reachable SkyWalking OAP instance; the server connects to the URL you pass with --sw-url, defaulting to http://localhost:12800/graphql, with --sw-username and --sw-password for basic auth, both accepting an environment-variable form. Built from source in Go, or run from the Docker image the repository builds. Three transports: stdio, SSE and Streamable HTTP, the latter two taking an address, a path and a CORS origin allowlist. The HTTP transports reject loopback requests that carry a non-loopback Host header as DNS rebinding protection, so a reverse proxy in front of them should rewrite Host to localhost.
