Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/docker-perf-dockerode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@cruncher/adapter-docker": major
---

Replace subprocess spawning with Docker Engine HTTP API via dockerode. This eliminates per-query process fork/exec overhead, fixes line buffering bugs that could silently drop log lines spanning chunk boundaries, pre-compiles log pattern regexes, and delivers incremental results as each container completes instead of waiting for all.

BREAKING: The `binaryLocation` param has been removed since the adapter now communicates directly with the Docker socket instead of shelling out to the `docker` CLI binary.
10 changes: 2 additions & 8 deletions docs/src/content/docs/adapters/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,8 @@ import { Badge } from '@astrojs/starlight/components';

## Params

<ParamItem label="binaryLocation" type="string" default="docker">
Path to the Docker binary. Override this if `docker` is not on your `PATH` or you want to use a specific version.
```yaml
binaryLocation: /usr/local/bin/docker
```
</ParamItem>
<ParamItem label="dockerHost" type="string">
The docker host url to use for docker commands.
<ParamItem label="dockerHost" type="string" default="unix:///var/run/docker.sock">
The Docker Engine API endpoint. Supports Unix sockets (`unix:///var/run/docker.sock`) and TCP hosts (`tcp://localhost:2375`).
</ParamItem>
<ParamItem label="containerFilter" type="string">
A filter to apply to the containers when listing them. This can be used to limit the containers that Cruncher will interact with.
Expand Down
2 changes: 2 additions & 0 deletions packages/adapters/docker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,12 @@
"@cruncher/adapter-utils": "workspace:*",
"@cruncher/qql": "workspace:*",
"ansicolor": "^2.0.3",
"dockerode": "^4.0.4",
"merge-k-sorted-arrays": "^2.1.0",
"zod": "^4.3.6"
},
"devDependencies": {
"@types/dockerode": "^3.3.38",
"@types/node": "^25.3.5",
"typescript": "^5.9.3"
}
Expand Down
Loading
Loading