The Next-generation API Observability Platform

How do you know if a small code change can take down your site? What's really going on with your APIs? At Akita, we're building tools to help you answer that question.

Akita watches calls to web APIs in order to help you visualize your service graph, monitor your APIs, make sense of your request/response logs, and 💥 catch breaking changes 💥.

By passively watching traffic, Akita integrates in a low-friction, low-risk way, making it possible to run in CI/CD, staging, or production without too much overhead. Akita's API modeling technology to automatically catch breaking changes.

Get Started    FAQs

Parallel Learning

📘

Parallel Learning requires Akita Client v0.11.0 or above.

If you have multiple machines making API calls to the same service (e.g. you are distributing a large set of integration tests over multiple machines), Akita's parallel learning feature helps you collect information across machines and generate a unified API spec.

Now we'll show you how to use Akita SuperLearn to:

Step 1 - Share a Trace Among Workers

Start each worker to send traffic a shared trace, identified by name.

akita apidump \
  --filter "port {PORT}" \
  --out akita://myservice:trace:my-parallel-trace
sudo akita apidump \
  --filter "port {PORT}" \
  --out akita://myservice:trace:my-parallel-trace
docker run --rm -it \
  --env AKITA_API_KEY_ID=${KEY_ID} \
  --env AKITA_API_KEY_SECRET=${KEY_SECRET} \
  --net={NETWORK} akitasoftware/cli:latest apidump \
  --filter "port {PORT}" \
  --out akita://myservice:trace:my-parallel-trace

Send SIGINT to each worker to stop apidump, just like normal operations.

Alternatively, if you have traces captured already as a series of HAR files, you can upload them to a shared trace:

akita upload \
  --dest akita://myservice:trace:my-parallel-trace \
  /path/to/trace1.har \
  /path/to/trace2.har

Step 2 - Generate a Spec

After all the workers are done, generate an API spec using the apispec command. 🎉

akita apispec \
  --traces akita://myservice:trace:my-parallel-trace \
  --out akita://myservice:spec:my-parallel-spec
docker run --rm \
  --env AKITA_API_KEY_ID=${KEY_ID} \
  --env AKITA_API_KEY_SECRET=${KEY_SECRET} \
  akitasoftware/cli:latest apispec \
  --traces akita://myservice:trace:my-parallel-trace \
  --out akita://myservice:spec:my-parallel-spec

Updated 2 months ago


Parallel Learning


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.