Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2019-02-09T17:51:22Zhttps://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/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/25240Add an interface to the Metrics CSV files2020-06-13T07:27:28ZirlAdd an interface to the Metrics CSV filesFor some statistics, it would be better to get these from the CSV files instead of from Onionoo (in the case of users, they are not available in Onionoo).For some statistics, it would be better to get these from the CSV files instead of from Onionoo (in the case of users, they are not available in Onionoo).https://gitlab.torproject.org/legacy/trac/-/issues/25219Reduce size of relay flags and align center in badges2020-06-13T07:24:11ZirlReduce size of relay flags and align center in badgesIn the design in #24717 the relay flags should have been 20px, but 32px icons were used. The tor-icons Makefile should be updated to produce 20px icons and then include these instead. The icons should be aligned in the center, not to the...In the design in #24717 the relay flags should have been 20px, but 32px icons were used. The tor-icons Makefile should be updated to produce 20px icons and then include these instead. The icons should be aligned in the center, not to the left, when drawn onto the badge.https://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/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.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/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/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/24101Provide percentages not just absolute numbers for country and AS information2020-06-13T07:00:03ZRoger DingledineProvide percentages not just absolute numbers for country and AS information<metrics-bot> 1304 relays in Germany are contributing 4.6GiB/s bandwidth to the #Tor network. https://atlas.torproject.org/#search/country:de
could become
<metrics-bot> 1304 relays in Germany are contributing 4.6GiB/s bandwidth (19.9%)...<metrics-bot> 1304 relays in Germany are contributing 4.6GiB/s bandwidth to the #Tor network. https://atlas.torproject.org/#search/country:de
could become
<metrics-bot> 1304 relays in Germany are contributing 4.6GiB/s bandwidth (19.9%) to the #Tor network. https://atlas.torproject.org/#search/country:de
I'm not sure the right way to phrase it -- originally I had in mind just to hear one percentage, which is the percentage of total bandwidth that 4.6GiB represents. But there are also other percentages we might try to work in, e.g.
<metrics-bot> 1304 relays in Germany are contributing 4.6GiB/s bandwidth (23.6%, 22.6%, 6.9%) to the #Tor network. https://atlas.torproject.org/#search/country:dehttps://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/24079metrics-bot should listen for private messages2020-06-13T06:59:46Zpastlymetrics-bot should listen for private messagesLess spam in #tor if users can do simple queries via PM.Less spam in #tor if users can do simple queries via PM.https://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/24077Refactor microblog accounts setup and updates into a MicroblogManager2020-06-13T06:59:44ZirlRefactor microblog accounts setup and updates into a MicroblogManagerMost of this code is currently in the MetricsBot class directly, with the setup in the main method.
The `microblog(MicroblogStatus)` and `error(String)` functions should be moved. Also, there should be new functions that also serve for ...Most of this code is currently in the MetricsBot class directly, with the setup in the main method.
The `microblog(MicroblogStatus)` and `error(String)` functions should be moved. Also, there should be new functions that also serve for logging:
* `debug(String)`
* `info(String)`
* `warning(String)`
* `relay(String)`
* `network(String)`
* `alert(String)`
* `event(String)`
This will depend on #24075 to have the StatusTypes available. It will probably also depend on #24076 in order to have the logging to the console functionality.https://gitlab.torproject.org/legacy/trac/-/issues/24076Implement a MicroblogAccount interface that logs to the console2020-06-13T06:59:43ZirlImplement a MicroblogAccount interface that logs to the consoleThis should call `System.out.println` or maybe something in log4j. It definitely should not generate new status updates to say the status was updated. We may also need some protective mechanism to ensure that DEBUG messages can only be s...This should call `System.out.println` or maybe something in log4j. It definitely should not generate new status updates to say the status was updated. We may also need some protective mechanism to ensure that DEBUG messages can only be sent to this kind of MicroblogAccount.https://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/24074Refactor IRC connection and authentication into an IRCManager class2020-06-13T06:59:43ZirlRefactor IRC connection and authentication into an IRCManager classCurrently all of this code sits in the main function for metrics-bot, and this prevents metrics-bot from joining multiple networks.Currently all of this code sits in the main function for metrics-bot, and this prevents metrics-bot from joining multiple networks.https://gitlab.torproject.org/legacy/trac/-/issues/24073Generate an event if there is a major relay outage2021-11-29T14:35:54ZirlGenerate an event if there is a major relay outageGenerate an event if there is a major outage of relays. We should decide on thresholds for relay counts/consensus weight. This may actually be just a part of #24070.Generate an event if there is a major outage of relays. We should decide on thresholds for relay counts/consensus weight. This may actually be just a part of #24070.https://gitlab.torproject.org/legacy/trac/-/issues/24071Generate an event if the most used Tor version changed2021-11-29T14:35:54ZirlGenerate an event if the most used Tor version changedIf the most popular Tor version used (by relays) has changed, generate an EVENT and send to all microblog accounts subscribed to EVENT updates.If the most popular Tor version used (by relays) has changed, generate an EVENT and send to all microblog accounts subscribed to EVENT updates.