in internal/telemetry/telemetry.go [65:88]
func (h *HoverTelemetryRateLimiter) Allow(name string, properties map[string]interface{}) bool {
if name != "textDocument/hover" {
return true
}
// always allow the resource-definition hover
if properties != nil && properties["kind"] != nil {
if kind, ok := properties["kind"].(string); ok && kind == "resource-definition" {
return true
}
}
timeStampNow := time.Now().Unix()
if h.lastSentTimeStamp == 0 {
h.lastSentTimeStamp = timeStampNow
return true
}
// minimum interval between two hover telemetry events is 1 hour
if timeStampNow-h.lastSentTimeStamp < 3600 {
return false
}
h.lastSentTimeStamp = timeStampNow
return true
}