arunthampi / relax

Bots-as-a-Service for Slack
Mozilla Public License 2.0
169 stars 23 forks source link

Surfacing the last successful pong? #31

Open thbar opened 8 years ago

thbar commented 8 years ago

In order to monitor the health of each connection from the application side, it would be great to store the last successful pong timestamp (in redis, for instance), which we could then build alerts on top of depending on our needs.

For some context, I was thinking about how the node-slack-sdk library implements a client-level ping/pong dance and memorizes that timestamp here.

After browsing through relax source code, though, I realize that you are probably relying on the lower-level gorilla websocket connection to handle that ping/pong directly at the websocket level, right?

Even if that's confirmed, it would be indeed great to be able to propagate that information to Rails etc (via Redis), for custom monitoring.

Just some thoughts :-) Keep up the good work!

thbar commented 8 years ago

I just saw startPingPump so now understand that you are doing something similar to node-slack-sdk. Storing the last timestamp into redis could be useful (but then I do realize there is probably more work to be done, e.g. making sure reconnections attempt are propagated too). Well - just thoughts, again!

arunthampi commented 7 years ago

@thbar apologies for getting to this only now. This is a good point and is probably related to #33 -- let me think about this.