[Question] What happened to headscale_last_update_seconds ? #706

Closed
opened 2025-12-29 02:22:41 +01:00 by adam · 3 comments
Owner

Originally created by @n0valis on GitHub (May 12, 2024).

Use case

In previous version this was a metric.

Description

I had this metric integrated in my monitoring. After update to alpha version it disappeared.
Is this on purpose?

Contribution

  • I can write the design doc for this feature
  • I can contribute this feature

How can it be implemented?

No response

Originally created by @n0valis on GitHub (May 12, 2024). ### Use case In previous version this was a metric. ### Description I had this metric integrated in my monitoring. After update to alpha version it disappeared. Is this on purpose? ### Contribution - [X] I can write the design doc for this feature - [X] I can contribute this feature ### How can it be implemented? _No response_
adam added the enhancement label 2025-12-29 02:22:41 +01:00
adam closed this issue 2025-12-29 02:22:42 +01:00
Author
Owner

@kradalby commented on GitHub (May 25, 2024):

Yes! That metric was very deeply integrated to our old and very naive way of updating the client.

It would essentially check if anything had happened every X seconds and then send an update to every node. That metric was a reflection of when the last update had been sent and I originally added it while I was debuting a deadlock issue where it would stop sending updates.

In the new alpha, we have rewritten the entire update distribution and updates are now sent directly to a node when the update comes in, and it's sent on a per node basis.

This metric therefore does not have any meaning since the whole mechanism setting it is gone. There is now a bunch of new (and in my opinion more meaningful) metrics available.

@kradalby commented on GitHub (May 25, 2024): Yes! That metric was very deeply integrated to our old and very naive way of updating the client. It would essentially check if anything had happened every X seconds and then send an update to every node. That metric was a reflection of when the last update had been sent and I originally added it while I was debuting a deadlock issue where it would stop sending updates. In the new alpha, we have rewritten the entire update distribution and updates are now sent directly to a node when the update comes in, and it's sent on a per node basis. This metric therefore does not have any meaning since the whole mechanism setting it is gone. There is now a bunch of new (and in my opinion more meaningful) metrics available.
Author
Owner

@n0valis commented on GitHub (May 27, 2024):

I used the metric to check on the server that handshakes from clients came in on a regular basis. So I would knew - only by checking this value - that the whole network was intact. Had a nice Prometheus Grafana visualisation for this.

You say you have more meaningful) metrics available.
Which would that be to accomplish this task?

@n0valis commented on GitHub (May 27, 2024): I used the metric to check on the server that handshakes from clients came in on a regular basis. So I would knew - only by checking this value - that the whole network was intact. Had a nice Prometheus Grafana visualisation for this. You say you have more meaningful) metrics available. Which would that be to accomplish this task?
Author
Owner

@kradalby commented on GitHub (May 27, 2024):

I used the metric to check on the server that handshakes from clients came in on a regular basis. So I would knew - only by checking this value - that the whole network was intact. Had a nice Prometheus Grafana visualisation for this.

That assumption is not correct, you could not tell from that metric if the network was intact, it would only indicated that some update was sent to at least one node.

The most relevant would probably be https://github.com/juanfont/headscale/blob/main/hscontrol/notifier/metrics.go#L50, which indicate how many nodes are connected and able to receive updates.

@kradalby commented on GitHub (May 27, 2024): > I used the metric to check on the server that handshakes from clients came in on a regular basis. So I would knew - only by checking this value - that the whole network was intact. Had a nice Prometheus Grafana visualisation for this. That assumption is not correct, you could not tell from that metric if the network was intact, it would only indicated that _some update was sent to at least one node_. The most relevant would probably be https://github.com/juanfont/headscale/blob/main/hscontrol/notifier/metrics.go#L50, which indicate how many nodes are connected and able to receive updates.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#706