Skip to content

Commit

Permalink
Improve Badger docs (#824)
Browse files Browse the repository at this point in the history
Signed-off-by: Yuri Shkuro <[email protected]>
  • Loading branch information
yurishkuro authored Dec 28, 2024
1 parent 2d5e829 commit aa0cccb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
3 changes: 1 addition & 2 deletions content/docs/next-release-v2/apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,4 @@ grpc_cli ls localhost:16685
[sampling.proto]: https://github.com/jaegertracing/jaeger-idl/blob/main/proto/api_v2/sampling.proto
[grpc-reflection]: https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md#enable-server-reflection
[gogo-reflection]: https://jbrandhorst.com/post/gogoproto/#reflection
[storage.proto]: https://github.com/jaegertracing/jaeger/blob/main/plugin/storage/grpc/proto/
storage.proto
[storage.proto]: https://github.com/jaegertracing/jaeger/blob/main/plugin/storage/grpc/proto/storage.proto
13 changes: 12 additions & 1 deletion content/docs/next-release-v2/badger.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,18 @@ title: Badger
hasparent: true
---

[Badger](https://github.com/dgraph-io/badger) is a local file storage embedded within Jaeger.
[Badger](https://github.com/dgraph-io/badger) is an embeddable persistent key-value database, similar to RocksBD. The Jaeger binary embeds Badger and can use it as a storage backend without external dependencies.

**Pros**:
* Badger stores data in the local file system and therefore can survive process restarts.
* A single node can sustain high throughput.

**Cons**:
* It is only suitable for a _single-node deployment_, so it cannot scale horizontally for higher data volumes.
* It is not possible to share a single Badger instance between multiple Jaeger processes, such as **jaeger-collector** and **jaeger-query**, therefore it is usually only used in the **all-in-one** configuration.
* NB: it is possible to share a single Badger instance between multiple processes if you use Badger with the [remote storage](../tools/#remote-storage-component) component.

## Configuration

See [sample configuration](https://github.com/jaegertracing/jaeger/blob/main/cmd/jaeger/config-badger.yaml).

Expand Down
4 changes: 2 additions & 2 deletions content/docs/next-release-v2/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ docker run \

## Remote Storage (component)

**jaeger-remote-storage** implements the [Remote Storage gRPC API][storage.proto] and proxies it into one of the regular Jaeger backends. It can be useful in the situation when we want to run a full deployment of Jaeger components, e.g., separate collector and query services, but use a single-node storage backend like the memory store or Badger. Without the remote storage, the single-node backends can only be used with all-in-one since they cannot be shared between multiple processes.
**jaeger-remote-storage** implements the [Remote Storage gRPC API](../apis/#remote-storage-api) and proxies it into one of the regular Jaeger backends. It can be useful in the situation when we want to run a full deployment of Jaeger components, e.g., separate collector and query services, but use a single-node storage backend like the memory store or Badger. Without the remote storage, the single-node backends can only be used with all-in-one since they cannot be shared between multiple processes.

At default settings the service listens on the following port(s):

Port | Protocol | Function
----- | ------- | ---
17271 | gRPC | [Remote Storage API](../apis/#remote-storage-api)
17270 | HTTP | admin port: health check at `/` and metrics at `/metrics`
17270 | HTTP | admin port: health check at `/` and metrics at `/metrics`

0 comments on commit aa0cccb

Please sign in to comment.