Skip to content

New component: Valkey receiver #33787

Open
@rogercoll

Description

@rogercoll

The purpose and use-cases of the new component

Valkey is a high-performance data structure server that primarily serves key/value workloads. It supports a wide range of native structures and an extensible plugin system for adding new data structures and access patterns.

Repository: https://github.com/valkey-io/valkey

The component should behave as the current redis receiver. Actually, the redis receiver is currently being used in the OpenTelemetry demo to extract metrics from a valkey instance, see: https://github.com/open-telemetry/opentelemetry-demo/blob/main/src/otelcollector/otelcol-config.yml#L17
The OpenTelemetry demo uses the redis receiver as a short term solution, but the end goal would be to use a valkey specific one in case their APIs change. They are two different products, so we expect their functionalities may diverge over time.

Implementation proposal:

  • Move the redis receiver logic into and internal package (internal/cachestore?)
  • Evaluate if the current client interface could be reused in other cachestore clients. The same applies for the configuration.
  • Create the valkey receiver using the internal cachestore logic + specific Go client: https://github.com/valkey-io/valkey-go

Example configuration for the component

valkey:
  endpoint: "localhost:6379"
  username: "test"
  password: "test"
  collection_interval: 10s
  tls:
    insecure: true

Configuration example source.

Telemetry data types supported

  • Metrics

Is this a vendor-specific component?

  • This is a vendor-specific component
  • If this is a vendor-specific component, I am a member of the OpenTelemetry organization.
  • If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.

Code Owner(s)

@rogercoll

Sponsor (optional)

@dmitryax

Additional context

I proposed myself as a codeowner, but I am absolutely open to any suggestion. @dmitryax, @hughesjj as being codowners of the current redis receiver, would you also like to continue in this role for the valkey one?

As discussed in the SIG meeting, @dmitryax would you be able to sponsor this new component?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions