vectordotdev / vectordotdev/vector

New `http` transform

Open
#1,385 13 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

domain: transforms meta: idea needs: approval needs: requirements transform: new
Dominant language
Rust
Stars
22.6k
Forks
2.3k
Avg merge
1d 7h
Merged PRs (30d)
146

Description

Proposal

We should add the ability for a user to enrich their log events from some form of external metadata.

Solution

Provide a http transform that can hit some http endpoint on a set interval and enrich log events with fields from this http endpoint. This is very similar to the aws_ec2_metadata transform except its more general. I suggest we start with just json decoding and use the same evmap approach.

Options

We should provide these set of options to users:

  • endpoint this should be the endpoint to hit
  • fields this should be a list of fields to include from the map of json returned.
  • refresh_interval_secs the interval in seconds at which we will refresh with new data.
  • clear_old when set to true when new data comes in it will clear the map first.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing aws_ec2_metadata transform, which the proposal identifies as the closest comparison. Review the requested endpoint, JSON decoding, evmap, refresh interval, selected fields, and clear_old behavior, then determine the implementation and testing locations; done means the design and all listed options are supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
stream-processing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.