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 Graphite Exporter module #771

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Add Graphite Exporter module #771

wants to merge 3 commits into from

Conversation

aaronmdjones
Copy link
Member

This module collects and exports statistics to a Graphite statistics server.

At the moment, it can be used for graphing:

  • Number of registered accounts, channels, and groups in the services database
  • Number of users, channels, and servers on the network
  • Number of types of password hash (useful for keeping track of a crypto module migration)

@aaronmdjones
Copy link
Member Author

The password hash functionality could be made much more efficient if there were a user_changed_password hook that it could plug into, so that it could cache what type of password hash each user has and invalidate that cache properly.

Do you think it's worth it?

@alyx
Copy link
Member

alyx commented Mar 28, 2021

The password hash functionality could be made much more efficient if there were a user_changed_password hook that it could plug into, so that it could cache what type of password hash each user has and invalidate that cache properly.

Do you think it's worth it?

IMO More hooks is better, opens up more doors for other things as well in the future and makes this more efficient

This module can export statistics to a Graphite [1] statistics server.

I am placing this module under statserv/ rather than misc/, even though
it does not support any commands, and does not interact with or depend
upon statserv/main, for reasons that will become clear in subsequent
commits.

It currently supports exporting the following *services* statistics:

1) Number of registered accounts
2) Number of registered channels
3) Number of registered groups

It also supports exporting the following *network* statistics:

1) Number of channels
2) Number of servers
3) Number of users

[1] https://www.graphiteapp.org/
Also split the module name from the algorithm name in the output.

Also add caching of the computed password hash types, using the hook
added in a previous commit.
@aaronmdjones
Copy link
Member Author

It has caching now.

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

2 participants