- Rust 63.5%
- CUE 34%
- HTML 1.2%
- TypeScript 0.7%
- JavaScript 0.2%
- Other 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
create_preview_sites.yml / fix(metrics): correct CUE metric catalog discrepancies (#25559) (push) Failing after 0s
Static Analysis / static-analysis (push) Has been cancelled
Check Generated VRL Docs Freshness / changes (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Check Generated VRL Docs Freshness / run-check-generated-vrl-docs (push) Has been cancelled
Check Generated VRL Docs Freshness / check-generated-vrl-docs (push) Has been cancelled
* fix(docs): correct buffer byte metric names in CUE documentation
The buffer byte metrics were documented under the old names
`buffer_received_event_bytes_total` and `buffer_sent_event_bytes_total`,
but the code emits `buffer_received_bytes_total` and
`buffer_sent_bytes_total` as defined in
`lib/vector-common/src/internal_event/metric_name.rs`
(BufferReceivedBytesTotal / BufferSentBytesTotal).
Users querying the documented names would find no data.
Fixes the HIGH-severity discrepancy identified in the telemetry
correctness report (section F1).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(docs): remove stale metrics from CUE documentation
The following metrics are documented in the CUE catalog but no longer
emitted by the code (absent from CounterName/GaugeName enums in
lib/vector-common/src/internal_event/metric_name.rs and from all
emit!() / counter!() / gauge!() call sites):
- connection_read_errors_total (syslog.cue)
- utf8_convert_errors_total (syslog.cue)
- stdin_reads_failed_total (sources/stdin.cue, internal_metrics.cue)
- protobuf_decode_errors_total (sources/vector.cue, sinks/vector.cue,
internal_metrics.cue); replaced by component_errors_total
- send_errors_total (sinks/nats.cue, sinks/redis.cue,
internal_metrics.cue); replaced by component_errors_total
- streams_total (sinks/loki.cue, internal_metrics.cue)
- invalid_record_total (internal_metrics.cue); replaced by
component_errors_total
- timestamp_parse_errors_total (internal_metrics.cue); replaced by
component_errors_total
- config_reload_rejected (internal_metrics.cue); replaced by
component_errors_total with error_code="reload"
- config_reloaded (internal_metrics.cue); replaced by reloaded_total
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(docs): add missing metrics to CUE documentation
These metrics are emitted by the code (registered in
lib/vector-common/src/internal_event/metric_name.rs) but were absent
from the CUE catalog:
Buffer metrics (lib/vector-buffers/src/internal_events.rs):
- buffer_discarded_bytes_total
- buffer_errors_total
Adaptive concurrency metrics (src/internal_events/adaptive_concurrency.rs):
- adaptive_concurrency_back_pressure
- adaptive_concurrency_past_rtt_mean
- adaptive_concurrency_reached_limit
HTTP client metrics (src/internal_events/http_client.rs):
- http_client_errors_total
- http_client_error_rtt_seconds
Infrastructure metrics:
- active_endpoints (src/internal_events/open.rs)
- sqs_message_defer_succeeded_total (src/internal_events/aws_sqs.rs)
- k8s_event_namespace_annotation_failures_total
(src/internal_events/kubernetes_logs.rs)
- k8s_event_node_annotation_failures_total
(src/internal_events/kubernetes_logs.rs)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(docs): correct open_files type and remove phantom output tag from transform_buffer_*
open_files: documented as type "counter" but the code emits it as a
gauge via gauge!(GaugeName::OpenFiles) in
src/internal_events/file.rs. GaugeName is defined in
lib/vector-common/src/internal_event/metric_name.rs.
transform_buffer_*: all seven transform buffer metrics were documented
with an "output" tag. In production, the topology builder always
creates transform channel metrics with output=None
(src/topology/builder.rs: ChannelMetricMetadata::new(Transform, None)),
so the "output" label is never present. The tag has been removed from
all seven transform_buffer_* entries.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(docs): document buffer metric tags in CUE
Add the missing buffer_id, stage, and intentional labels to the internal metrics CUE schema so the documented buffer telemetry matches the runtime emitters.
Co-authored-by: Cursor <cursoragent@cursor.com>
* group all buffer tags in a helper
* add missing error type per codex suggestion
* use proper tags per codex review comment
* fmt
* document _buffer_error_code
* fmt
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
||
| .cargo | ||
| .config | ||
| .github | ||
| benches | ||
| changelog.d | ||
| config | ||
| distribution | ||
| docs | ||
| lib | ||
| licenses | ||
| proto | ||
| regression | ||
| rfcs | ||
| rust-doc | ||
| scripts | ||
| src | ||
| testing | ||
| tests | ||
| tilt | ||
| vdev | ||
| website | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint.jsonc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| .rustfmt.toml | ||
| AGENTS.md | ||
| AI_POLICY.md | ||
| buf.yaml | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| clippy.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Cross.toml | ||
| deny.toml | ||
| LICENSE | ||
| LICENSE-3rdparty.csv | ||
| license-tool.toml | ||
| Makefile | ||
| Makefile.packaging | ||
| NOTICE | ||
| PRIVACY.md | ||
| README.md | ||
| RELEASES.md | ||
| rust-toolchain.toml | ||
| SECURITY.md | ||
| STYLE.md | ||
| Tiltfile | ||
| VERSIONING.md | ||
Quickstart • Docs • Guides • Integrations • Chat • Download • Rust Crate Docs
What is Vector?
Vector is a high-performance, end-to-end (agent & aggregator) observability data pipeline that puts you in control of your observability data. Collect, transform, and route all your logs and metrics to any vendors you want today and any other vendors you may want tomorrow. Vector enables dramatic cost reduction, novel data enrichment, and data security where you need it, not where it is most convenient for your vendors. Additionally, it is open source and up to 10x faster than every alternative in the space.
To get started, follow our quickstart guide or install Vector.
Vector is maintained by Datadog's Community Open Source Engineering team.
Principles
- Reliable - Built in Rust, Vector's primary design goal is reliability.
- End-to-end - Deploys as an agent or aggregator. Vector is a complete platform.
- Unified - Logs, metrics (beta), and traces (coming soon). One tool for all of your data.
Use cases
- Reduce total observability costs.
- Transition vendors without disrupting workflows.
- Enhance data quality and improve insights.
- Consolidate agents and eliminate agent fatigue.
- Improve overall observability performance and reliability.
Community
- Vector is relied on by startups and enterprises like Atlassian, T-Mobile, Comcast, Zendesk, Discord, Fastly, CVS, Trivago, Tuple, Douban, Visa, Mambu, Blockfi, Claranet, Instacart, Forcepoint, and many more.
- Vector is downloaded over 100,000 times per day.
- Vector's largest user processes over 500TB daily.
- Vector has over 500 contributors and growing.
Documentation
All user documentation is available at vector.dev/docs.
Other Resources:
Comparisons
Performance
The following performance tests demonstrate baseline performance between common protocols with the exception of the Regex Parsing test.
| Test | Vector | Filebeat | FluentBit | FluentD | Logstash | SplunkUF | SplunkHF |
|---|---|---|---|---|---|---|---|
| TCP to Blackhole | 86mib/s | n/a | 64.4mib/s | 27.7mib/s | 40.6mib/s | n/a | n/a |
| File to TCP | 76.7mib/s | 7.8mib/s | 35mib/s | 26.1mib/s | 3.1mib/s | 40.1mib/s | 39mib/s |
| Regex Parsing | 13.2mib/s | n/a | 20.5mib/s | 2.6mib/s | 4.6mib/s | n/a | 7.8mib/s |
| TCP to HTTP | 26.7mib/s | n/a | 19.6mib/s | <1mib/s | 2.7mib/s | n/a | n/a |
| TCP to TCP | 69.9mib/s | 5mib/s | 67.1mib/s | 3.9mib/s | 10mib/s | 70.4mib/s | 7.6mib/s |
To learn more about our performance tests, please see the Vector test harness.
Correctness
The following correctness tests are not exhaustive, but they demonstrate fundamental differences in quality and attention to detail:
| Test | Vector | Filebeat | FluentBit | FluentD | Logstash | Splunk UF | Splunk HF |
|---|---|---|---|---|---|---|---|
| Disk Buffer Persistence | ✓ | ✓ | ⚠ | ✓ | ✓ | ||
| File Rotate (create) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| File Rotate (copytruncate) | ✓ | ✓ | ✓ | ||||
| File Truncation | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Process (SIGHUP) | ✓ | ⚠ | ✓ | ✓ | |||
| JSON (wrapped) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
To learn more about our correctness tests, please see the Vector test harness.
Features
Vector is an end-to-end, unified, open data platform.
| Vector | Beats | Fluentbit | Fluentd | Logstash | Splunk UF | Splunk HF | Telegraf | |
|---|---|---|---|---|---|---|---|---|
| End-to-end | ✓ | ✓ | ||||||
| Agent | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Aggregator | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Unified | ✓ | ✓ | ||||||
| Logs | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Metrics | ✓ | ⚠ | ⚠ | ⚠ | ⚠ | ⚠ | ⚠ | ✓ |
| Traces | 🚧 | |||||||
| Open | ✓ | ✓ | ✓ | ✓ | ||||
| Open-source | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Vendor-neutral | ✓ | ✓ | ✓ | ✓ | ||||
| Reliability | ✓ | |||||||
| Memory-safe | ✓ | ✓ | ||||||
| Delivery guarantees | ✓ | ✓ | ✓ | |||||
| Multi-core | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
⚠ = Not interoperable, metrics are represented as structured logs
Developed with ❤️ by Datadog - Security Policy - Privacy Policy