-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
179 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
label: Fly.io | ||
order: -5 | ||
--- | ||
|
||
# Fly.io | ||
|
||
[Fly.io](https://fly.io) is a platform for running applications globally. You can stream your Fly.io service logs to Baselime using the [fly-log-shipper](https://github.com/superfly/fly-log-shipper?tab=readme-ov-file#provider-configuration). | ||
|
||
--- | ||
|
||
## Setup | ||
|
||
**Step 1:** Get your `BASELIME_API_KEY` from the [Baselime console](https://console.baselime.io). | ||
|
||
**Step 2:** Create a Fly Log Shipper service and set the secrets using following commands: | ||
|
||
```bash # | ||
fly launch --image flyio/log-shipper:latest | ||
fly secrets set ACCESS_TOKEN=$(fly auth token) | ||
fly secrets set HTTP_URL=https://events.baselime.io/v1/flyio | ||
fly secrets set HTTP_TOKEN=BASELIME_API_KEY | ||
``` | ||
|
||
Once these steps are completed, logs from all services deployed on Fly.io will be streamed to Baselime, and available for search, queries, alerts and dashboards. | ||
|
||
[!ref icon="../../assets/images/logos/logo_open_telemetry.png" text="Instrument fly.io tracing and metrics using OpenTelemetry"](../platforms/opentelemetry/opentelemetry.md) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
label: OpenTelemetry | ||
order: -4 | ||
--- | ||
|
||
If your codebase is already instrumented with [OpenTelemetry](https://opentelemetry.io/), you can start sending your traces, metrics and logs to Baselime today. | ||
|
||
**Step 1:** Get `BASELIME_API_KEY` from the [Baselime console](https://console.baselime.io). | ||
|
||
**Step 2:** Set the headers | ||
```yaml | ||
x-api-key: <BASELIME_API_KEY> | ||
x-baselime-dataset: <YOUR_DATASET> | ||
``` | ||
**Step 3:** Set exporter endpoint | ||
+++HTTP | ||
- Endpoint `otel.baselime.io/v1/` | ||
+++gRPC | ||
- Endpoint `otel-ingest.baselime.io:4317` | ||
+++ | ||
|
||
--- | ||
## Baselime Opentelemetry for Platforms | ||
[!ref icon="../../../assets/images/logos/logo_aws_lambda.png"](../../platforms/aws/aws-lambda/traces/index.md) | ||
[!ref icon="../../../assets/images/logos/cloudflare.png"](../../platforms/cloudflare/traces.md) | ||
|
||
--- | ||
|
||
## Baselime Opentelemetry Distros | ||
[!ref icon="../../../assets/images/logos/node.svg"](../../languages/node.js.md) | ||
[!ref icon="../../../assets/images/logos/next.js.svg"](../../languages/next.js.md) | ||
[!ref icon="../../../assets/images/logos/python.svg"](../../languages/python.md) | ||
[!ref icon="../../../assets/images/logos/golang.svg"](../../languages/go.md) | ||
|
||
--- | ||
|
||
## AWS PrivateLink | ||
|
||
Baselime supports [AWS PrivateLink](https://aws.amazon.com/privatelink/) for OpenTelemetry. | ||
[!ref icon="../../../assets/images/logos/aws.svg"](./private-link.md) | ||
|
||
## Language APIs and SDKs | ||
Consult the [OTEL documentation](https://opentelemetry.io/docs/languages/) to find support for traces, metrics and logs for your languages |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,54 @@ | ||
# Sampling | ||
--- | ||
label: Sampling | ||
order: -11 | ||
--- | ||
|
||
Baselime has built in support sampling on our [enterprise plan](https://baselime.io/pricing) to enable maximum control over spend and data volumes. The sampling selects requests or traces to keep based on a percentage presence of the `$baselime.error` field. | ||
Sampling enables you to control the volume of data processed and ingested in Baselime, by selecting only a portion of your data, whilst keeping the ability to extrapolate key insights from the selected set. | ||
|
||
## What is sampling | ||
--- | ||
|
||
Sampling | ||
## When should you consider sampling? | ||
|
||
You should consider sampling when your data volumes are high, when you exceed multiple billion events per day, or **multiple thousand requests per second**. | ||
|
||
Sampling will enable you to reduce the overall volume of data processed and stored, and keep only data where "interesting things" occur. Interesting things could be errors, events with specific attributes, or events with high latencies associated. | ||
|
||
--- | ||
|
||
## Automatic tail sampling with Baselime | ||
|
||
!!! | ||
Automatic tail sampling is available only on our Enterprise Tier | ||
!!! | ||
|
||
You can enable automatic tail sampling on Baselime for each of your datasets. | ||
|
||
With tail sampling, the decision to sample a trace or request happens at the end of the processing, by considering all of the spans and events within the trace or request. A trace/request is sampled (ingested) when: | ||
|
||
- At least one event has an error (for logs, log levels are considered) | ||
- At least one event has a status code > 399 | ||
- it meets the deterministic probability sampling, based on a fixed sampling rate | ||
|
||
If any event (logs, spans and span events) associated with a trace or request meets the criteria, the entire trace or request is sampled. Otherwise, it is dropped. | ||
|
||
If your events are not associated to any trace or request, they are sampled using the same criteria, but are kept individually instead of as part of a request. | ||
|
||
!!! | ||
Learn how to [enrich your logs with request IDs](./logs-enrichment.md) for faster troubleshooting. | ||
!!! | ||
|
||
--- | ||
|
||
## How Baselime works with sampled data | ||
|
||
When Baselime automatically samples your data, it also saves a `$baselime.samplingInterval` on each of your events. If you decide to sample with a `N` sampling rate, Baselime will automatically store `1/N` as the `$baselime.samplingInterval`. | ||
|
||
Baselime then uses the sampling interval to compute aggregations such as `COUNT`, `SUM`, `AVG` and all percentiles. | ||
|
||
In other words, Baselime enables you to perfrom **accurate calculations** that are representative of the entire dataset, even with a sampled dataset. | ||
|
||
Baselime also surfaces the average sample rate in the query results in the [console](https://console.baselime.io). This gives you an idea of the sample rate of the events queried when running a query. | ||
|
||
### `COUNT_DISTINCT` | ||
|
||
`COUNT_DISTINCT` enables you to compute the number of unique values a property take in your dataset. This is impossible to accurately compute with sampled data. When performing a `COUNT_DISTINCT` aggregation, Baselime will count the number of unique values present in the sampled dataset and will not compensate for the sampling rate. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters