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

no_std support #441

Open
elpiel opened this issue Jan 25, 2024 · 2 comments
Open

no_std support #441

elpiel opened this issue Jan 25, 2024 · 2 comments
Labels
C-core Component: core functionality such as traits, etc. E-intermediate Effort: intermediate. T-ergonomics Type: ergonomics. T-request Type: request.

Comments

@elpiel
Copy link

elpiel commented Jan 25, 2024

Hello,
I just noticed that metrics still only supports std env. and it would be beneficial to take a look at how much effort is needed to make it no_std and suitable for use in embedded systems.

@tobz
Copy link
Member

tobz commented Feb 3, 2024

A while ago, I had tried to add the relevant cfg flags and what not to support no_std environments, but truthfully, I myself don't have any no_std projects so the support was purely theoretical and based on the other code required (like an exporter that was also no_std compatible), we removed all the no_std bits to avoid any confusion/frustration.

If you wanted to do some of this exploration work, perhaps by forking the library and seeing how much work it took to get it working in a no_std environment, I'd be interested in seeing that and helping/guiding where possible.

Unfortunately, this isn't something I can commit any time to researching.

@tobz tobz added C-core Component: core functionality such as traits, etc. E-intermediate Effort: intermediate. T-ergonomics Type: ergonomics. T-request Type: request. labels Feb 3, 2024
@elpiel
Copy link
Author

elpiel commented Feb 15, 2024

Thank you very much for your response @tobz .
Apart from embedded systems it seems that there are more and more container runtimes that can run no_std in Linux user space.
I might look into it and see how much work it is to do it. Given the fact that the embedded ecosystem is growing rapidly, it might be a good opportunity to introduce this to metrics but only if it's worth it.

The go-to-standard for logging - defmt is specifically created to support no_std and log also supports it but there isn't anything for metrics yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-core Component: core functionality such as traits, etc. E-intermediate Effort: intermediate. T-ergonomics Type: ergonomics. T-request Type: request.
Projects
None yet
Development

No branches or pull requests

2 participants