summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/cluster_slot_stats.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/src/cluster_slot_stats.h')
-rw-r--r--examples/redis-unstable/src/cluster_slot_stats.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/redis-unstable/src/cluster_slot_stats.h b/examples/redis-unstable/src/cluster_slot_stats.h
new file mode 100644
index 0000000..9b75cde
--- /dev/null
+++ b/examples/redis-unstable/src/cluster_slot_stats.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2009-Present, Redis Ltd.
+ * All rights reserved.
+ *
+ * Copyright (c) 2024-present, Valkey contributors.
+ * All rights reserved.
+ *
+ * Licensed under your choice of (a) the Redis Source Available License 2.0
+ * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the
+ * GNU Affero General Public License v3 (AGPLv3).
+ *
+ * Portions of this file are available under BSD3 terms; see REDISCONTRIBUTIONS for more information.
+ */
+
+#include "server.h"
+#include "script.h"
+
+/* General use-cases. */
+void clusterSlotStatReset(int slot);
+void clusterSlotStatResetAll(void);
+
+/* cpu-usec metric. */
+void clusterSlotStatsAddCpuDuration(client *c, ustime_t duration);
+void clusterSlotStatsInvalidateSlotIfApplicable(scriptRunCtx *ctx);
+
+/* network-bytes-in metric. */
+void clusterSlotStatsAddNetworkBytesInForUserClient(client *c);
+
+/* network-bytes-out metric. */
+void clusterSlotStatsAddNetworkBytesOutForUserClient(client *c);
+void clusterSlotStatsIncrNetworkBytesOutForReplication(long long len);
+void clusterSlotStatsDecrNetworkBytesOutForReplication(long long len);
+void clusterSlotStatsAddNetworkBytesOutForShardedPubSubInternalPropagation(client *c, int slot);