Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2021-08-23T14:41:32Zhttps://gitlab.torproject.org/legacy/trac/-/issues/23933Add a configuration framework2021-08-23T14:41:32ZirlAdd a configuration frameworkIt is necessary to store credentials outside the code, configuration options need to be explored, implemented and documented.It is necessary to store credentials outside the code, configuration options need to be explored, implemented and documented.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24692Add JavaDoc to reach 100% coverage for public interfaces2018-07-16T13:24:30ZirlAdd JavaDoc to reach 100% coverage for public interfacesWhile metrics-bot isn't intended to be used as a library, documentation is always helpful and should be added wherever it makes sense.While metrics-bot isn't intended to be used as a library, documentation is always helpful and should be added wherever it makes sense.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24075Add new StatusTypes for internal logging2020-06-13T06:59:44ZirlAdd new StatusTypes for internal loggingMicroblogging and logging can share the same systems. We need new status types for:
* ERROR
* WARNING
* INFO
* DEBUG
`MetricsBot.error(String)` can then by changed to use the ERROR status type.Microblogging and logging can share the same systems. We need new status types for:
* ERROR
* WARNING
* INFO
* DEBUG
`MetricsBot.error(String)` can then by changed to use the ERROR status type.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/23938Create an IRC interface for querying relay/bridge details2017-10-30T14:37:15ZirlCreate an IRC interface for querying relay/bridge detailsThis interface would be catching relay/bridge fingerprints and returning Atlas URLs and basic information from Onionoo on the relay, or providing basic aggregated data that may be useful to IRC discussions.
The exact commands that may b...This interface would be catching relay/bridge fingerprints and returning Atlas URLs and basic information from Onionoo on the relay, or providing basic aggregated data that may be useful to IRC discussions.
The exact commands that may be used are still needing to be defined.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24068Document the factoids XML format2018-02-12T16:01:50ZirlDocument the factoids XML formatAn example is included in the JavaDoc, but the format should be explicitly documented. It may also be good to add a link for submitting new factoids via Trac.An example is included in the JavaDoc, but the format should be explicitly documented. It may also be good to add a link for submitting new factoids via Trac.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24067Document the XML configuration2018-02-09T23:14:01ZirlDocument the XML configurationCurrently the XML configuration is not documented, and the only example contains all the credentials and is only on my workstation.
The format for the configuration should be documented to allow for others to set up a test instance of m...Currently the XML configuration is not documented, and the only example contains all the credentials and is only on my workstation.
The format for the configuration should be documented to allow for others to set up a test instance of metrics-bot.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/23929Don't tweet statistics from Onionoo when Onionoo is down2020-06-13T18:02:02ZirlDon't tweet statistics from Onionoo when Onionoo is downThis has led to an interesting bug that tweets that there are currently zero relays running.
Onionoo is returning "Error 503 Backend fetch failed" currently.
There needs to be some error handling that marks the data source as unusable.This has led to an interesting bug that tweets that there are currently zero relays running.
Onionoo is returning "Error 503 Backend fetch failed" currently.
There needs to be some error handling that marks the data source as unusable.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24021Drop simple-json dependency in favour of gson2020-06-13T07:38:50ZirlDrop simple-json dependency in favour of gsonIt looks like gson is going to be required for twitter4j and mastodon4j anyway, so let's drop the extra dependency by rewriting the Onionoo client to use gson instead.It looks like gson is going to be required for twitter4j and mastodon4j anyway, so let's drop the extra dependency by rewriting the Onionoo client to use gson instead.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/26763Generate tweets from Metrics news feed2019-02-09T17:51:22ZirlGenerate tweets from Metrics news feedNow that there is an ATOM feed, we can syndicate this via the metrics-bot accounts.
https://metrics.torproject.org/news.atomNow that there is an ATOM feed, we can syndicate this via the metrics-bot accounts.
https://metrics.torproject.org/news.atomirlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24886Hide the HSDir, Guard, and maybe Exit flags on bridges on Metrics Bot2018-02-09T22:54:20ZteorHide the HSDir, Guard, and maybe Exit flags on bridges on Metrics BotThey are meaningless for bridges, see #24817.They are meaningless for bridges, see #24817.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24717Improve design of relay and bridge badges and map overlay2020-06-13T07:24:11ZirlImprove design of relay and bridge badges and map overlayThe code that draws the badges is at the end of the org.torproject.metrics.bot.BaseRelayImpl class:
https://gitweb.torproject.org/user/irl/metrics-bot.git/tree/src/main/java/org/torproject/metricsbot/tor/BaseRelayImpl.java#n297
For the...The code that draws the badges is at the end of the org.torproject.metrics.bot.BaseRelayImpl class:
https://gitweb.torproject.org/user/irl/metrics-bot.git/tree/src/main/java/org/torproject/metricsbot/tor/BaseRelayImpl.java#n297
For the redesign, mockups are all that's needed as I can do the actual Java code, but it might help to see how they are created. Essentially it builds up the image by drawing on to a canvas at fixed coordinates.
These badges are then converted into a bitmap image and uploaded for Twitter and Mastodon. The size of the badge is currently based on some "best practices" I found on a blog for Twitter, it works mostly in Mastodon too but I wonder if a change of size/aspect ratio would be useful.
In the future, I'd like to write JavaScript too that can build these as SVGs for dynamic inclusion in web pages so that relay/bridge operators can include them on their blog. These means that any dynamic text must be in a font we're allowed to embed.
There are currently 3 image types generated by metrics-bot:
Relay: https://twitter.com/TorAtlas/status/944267221769089024
Bridge: https://twitter.com/TorAtlas/status/944255643728441344
World Map: https://twitter.com/TorAtlas/status/944255648551849987
The world map image is mostly generated by xplanet (http://xplanet.sourceforge.net/) but there is an overlay bar at the bottom to add branding.
One idea that I have been thinking about is adding a "country" badge, which shows relay count, distinct AS count and advertised bandwidth alongside an image of the outline of the shape of that country, but I have no idea where I would get the country shapes from.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24080Make metrics-bot comply with Metrics' project guidelines and java style rules2017-12-21T12:23:31ZirlMake metrics-bot comply with Metrics' project guidelines and java style rulesmetrics-bot doesn't comply yet to Metrics' project guidelines and java style rules (like using metrics-base etc.). This has been mostly due to metrics-bot being an exercise in irl relearning Java, but should be fixed now.metrics-bot doesn't comply yet to Metrics' project guidelines and java style rules (like using metrics-base etc.). This has been mostly due to metrics-bot being an exercise in irl relearning Java, but should be fixed now.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24078metrics-bot should have a better error message when a country has no relays2018-02-13T23:00:17Zpastlymetrics-bot should have a better error message when a country has no relaysSee also: AS? Maybe. 23650 has no relays (allegedly in China, according to the first google result).
Anyway. I think there should be a different error message for (i) you asked me a question I don't understand, and (ii) I understand th...See also: AS? Maybe. 23650 has no relays (allegedly in China, according to the first google result).
Anyway. I think there should be a different error message for (i) you asked me a question I don't understand, and (ii) I understand the question but have no results.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24039metrics-bot shouldn't include the atlas link if I posted one2017-10-29T02:44:07Zpastlymetrics-bot shouldn't include the atlas link if I posted one```
[17:14:24] <pastly> (just testing something https://atlas.torproject.org/#details/6B4ABE3FA1D4D0D4AEF2FD6C535891333591D06E )
[17:14:24] <metrics-bot> KISTrulez - CW: 893 [ Fast HSDir Running Stable V2Dir Valid ] https://atlas.torproj...```
[17:14:24] <pastly> (just testing something https://atlas.torproject.org/#details/6B4ABE3FA1D4D0D4AEF2FD6C535891333591D06E )
[17:14:24] <metrics-bot> KISTrulez - CW: 893 [ Fast HSDir Running Stable V2Dir Valid ] https://atlas.torproject.org/#details/6B4ABE3FA1D4D0D4AEF2FD6C535891333591D06E
```
In my opinion, metrics-bot should notice that I shared the atlas link already and either (i) not include it in its message, or (ii) not say anything.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24066Refactor IRCListener snippets into Factoids2020-06-13T06:59:46ZirlRefactor IRCListener snippets into FactoidsCurrently any dynamic factoids are implemented directly in the IRCListener class. In order to make these reusable by other communication channels, these should be refactored into classes implementing the Factoid interface.
Possibly thes...Currently any dynamic factoids are implemented directly in the IRCListener class. In order to make these reusable by other communication channels, these should be refactored into classes implementing the Factoid interface.
Possibly these should be discovered and loaded automatically, or they should be loaded as specified in the XML configuration.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24297Rename metrics-bot packages2018-02-09T16:36:35ZKarsten LoesingRename metrics-bot packagesThis ticket is based on a discussion on #24036:
- Rename root package `org.torproject.metricsbot` to `org.torproject.metrics.bot` (every dot counts!) to make it part of the Tor Metrics name space.This ticket is based on a discussion on #24036:
- Rename root package `org.torproject.metricsbot` to `org.torproject.metrics.bot` (every dot counts!) to make it part of the Tor Metrics name space.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/26762Twitter charachter limit is 280 now2018-07-12T11:44:59ZirlTwitter charachter limit is 280 nowCurrently tweets are dropped if they are >140 characters. There may still be a limitation in the library used, but if not then we can increase the limit to 280.Currently tweets are dropped if they are >140 characters. There may still be a limitation in the library used, but if not then we can increase the limit to 280.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/25280Update all Relay Search URLs to new location on metrics.torproject.org2018-02-16T15:53:46ZirlUpdate all Relay Search URLs to new location on metrics.torproject.orgOld location is:
https://atlas.torproject.org/#
New location is:
https://metrics.torproject.org/rs.html#
The new URLs are now live and ready for use.Old location is:
https://atlas.torproject.org/#
New location is:
https://metrics.torproject.org/rs.html#
The new URLs are now live and ready for use.irlirlhttps://gitlab.torproject.org/legacy/trac/-/issues/24739Use an equal-area projection for TorAtlas bot2018-02-09T20:27:07ZteorUse an equal-area projection for TorAtlas botThe maps on the TorAtlas bot look really distorted:
https://twitter.com/toratlas/status/945040814295699456
If we're going to present statistics on a map, we should use an equal-area projection.
See #24563 for more details and a comprehe...The maps on the TorAtlas bot look really distorted:
https://twitter.com/toratlas/status/945040814295699456
If we're going to present statistics on a map, we should use an equal-area projection.
See #24563 for more details and a comprehensive explanation.irlirl