Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add StatsD component #6642

Open
wants to merge 19 commits into
base: dev
Choose a base branch
from
Open

Add StatsD component #6642

wants to merge 19 commits into from

Conversation

Links2004
Copy link
Contributor

@Links2004 Links2004 commented Apr 26, 2024

What does this implement/fix?

Adding a new component that allows ESPHome to send StatsD gauges metric via UDP.

StatsD Infos:
https://github.com/statsd/statsd
https://github.com/statsd/statsd/blob/master/docs/metric_types.md

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other

Pull request in esphome-docs with documentation (if applicable): esphome/esphome-docs#3802

Test Environment

  • ESP32
  • ESP32 IDF
  • ESP8266
  • RP2040
  • BK72xx
  • RTL87xx

Example entry for config.yaml:

see tests/test11.5.yaml

e.g.:

statsd:
  host: "192.168.1.1"
  port: 8125
  prefix: esphome
  sensors:
    - id: adc_sensor_p32
      name: adc.32
  binary_sensors:
    - id: io0_button
      name: gpio.0

Checklist:

  • The code change is tested and works locally.
  • Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:

@probot-esphome
Copy link

Hey there @Links2004,
Thanks for submitting this pull request! Can you add yourself as a codeowner for this integration? This way we can notify you if a bug report for this integration is reported.
In __init__.py of the integration, please add:

CODEOWNERS = ["@Links2004"]

And run script/build_codeowners.py

(message by NeedsCodeownersLabel)

@codecov-commenter
Copy link

codecov-commenter commented Apr 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 54.21%. Comparing base (4d8b5ed) to head (77e5c5f).
Report is 603 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #6642      +/-   ##
==========================================
+ Coverage   53.70%   54.21%   +0.50%     
==========================================
  Files          50       50              
  Lines        9408     9594     +186     
  Branches     1654     1691      +37     
==========================================
+ Hits         5053     5201     +148     
- Misses       4056     4069      +13     
- Partials      299      324      +25     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Links2004 Links2004 force-pushed the statsD branch 2 times, most recently from bfd82c3 to 0de21f8 Compare April 26, 2024 11:07
@Links2004
Copy link
Contributor Author

Links2004 commented Apr 26, 2024

script/build_codeowners.py is not working locally :/

$ python3 script/build_codeowners.py
Cannot find component animation. Make sure current path is pip installed ESPHome

pwd is git root dir.

@Links2004
Copy link
Contributor Author

documentation PR: esphome/esphome-docs#3802

this will allow to run it on systems where the binary is called clang-apply-replacements.
esphome::socket::Socket does not support UDP with the ESP8266
@Links2004
Copy link
Contributor Author

yes I did, not sure if its related but I am running Python 3.12.3.

had to do the changes needed by estimating what the changes of the code will be after reding it, not optimal ;) but I got the CI/CD to pass that way.

script/clang-tidy Outdated Show resolved Hide resolved
tests/test11.5.yaml Outdated Show resolved Hide resolved
esphome/components/statsd/__init__.py Outdated Show resolved Hide resolved
esphome/components/statsd/__init__.py Outdated Show resolved Hide resolved
esphome/components/statsd/statsd.h Outdated Show resolved Hide resolved
esphome/components/statsd/statsd.cpp Outdated Show resolved Hide resolved
esphome/components/statsd/statsd.h Outdated Show resolved Hide resolved
@esphome esphome bot marked this pull request as draft May 5, 2024 22:56
@esphome
Copy link

esphome bot commented May 5, 2024

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

Links2004 and others added 6 commits May 6, 2024 20:01
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
@Links2004 Links2004 marked this pull request as ready for review May 6, 2024 18:37
@esphome esphome bot requested a review from jesserockz May 6, 2024 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants