Skip to content

An experimental toolkit for building telemetry data planes in Rust. This fork is used to allow Saluki to be used on older versions of Rust. It currently supports 1.76.0.

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-tool.toml
Notifications You must be signed in to change notification settings

DataDog/saluki-backport

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

saluki

License

Saluki is an experimental toolkit for building telemetry data planes in Rust.

This fork is used to allow Saluki to be used on older versions of Rust. It currently supports 1.76.0.

Please Read: experimental repository

This repository contains experimental code that is UNSUPPORTED and may cease to receive further updates at ANY TIME. In the event that we cease further development, the repository will be put into a read-only archive state.

Structure

Everything under lib contains reusable/common code, and everything under bin contains dedicated crates for building application-specific binaries.

Binaries (data planes)

Helper crates

  • lib/datadog-protos: Rust bindings generated from Protocol Buffers definitions for metrics/trace intake APIs
  • lib/ddsketch-agent: Rust implementation of the DDSketch algorithm matched to the implementation used in the Datadog Agent
  • lib/memory-accounting: foundational traits and helpers for declaring memory bounds on components, and partitioning memory grants based on those components

Saluki

All remaining crates are part of Saluki itself, and all have a name with the prefix saluki-:

  • lib/saluki-app: generic helpers for application bring up (initialization of logging, metrics, etc)
  • lib/saluki-components: feature-complete implementations of various common components (DogStatsD source, Datadog Metrics destination, and so on)
  • lib/saluki-config: lightweight helpers for both typed and untyped configuration file loading
  • lib/saluki-core: core primitives for building data planes, such as the topology builder, foundational traits for components, buffers, and more
  • lib/saluki-env: helpers for interacting with the process's environment, such as querying time, hostname, host environment (e.g. cloud provider), and so on
  • lib/saluki-event: the core event model used by Saluki
  • lib/saluki-io: core I/O primitives for networking (TCP/UDP/UDS), serialization (codecs and framers), compression, I/O-specific buffers, as well as some common codec implementations (e.g. DogStatsD)

Contributing

If you find an issue with this package and have a fix, or simply want to report it, please review our contributing guide.

Security

Please refer to our Security Policy if you believe you have found a security vulnerability.

About

An experimental toolkit for building telemetry data planes in Rust. This fork is used to allow Saluki to be used on older versions of Rust. It currently supports 1.76.0.

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-tool.toml

Security policy

Stars

Watchers

Forks

Languages

  • Rust 96.6%
  • Makefile 2.0%
  • Other 1.4%