influxdata / influxdata/telegraf
Websocket Input plugin
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
### Use Case
The current socket_listener input plugin is only able to receive data from the other end; as websocket supports bi-directional communication; there is a use case wherein the client (telegraf) requests for data from other end based on a query and receives the data; this should support a polling mechanism
### Expected behavior
Accepts a configuration like below for websocket input plugin along with a polling interval
ws://IP/query
polling interval = [sec/millisecond]
data_format = json
### Actual behavior
Based on the query passed, the endpoint will send the data in json format that can be later pushed to the output plugin
### Additional info
_No response_
Contributor guide
Research direction
Start by reviewing the existing socket_listener input plugin and how input plugins configure endpoints, polling, and data formats. Trace the expected websocket query flow and identify how received JSON would enter Telegraf's metric pipeline. Done means a websocket input plugin can poll at the configured interval, receive JSON responses, and pass them to an output plugin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100