aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/census/resource.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ext/census/resource.h')
-rw-r--r--src/core/ext/census/resource.h29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/core/ext/census/resource.h b/src/core/ext/census/resource.h
index 5ad5a0f7a0..a0669f3a39 100644
--- a/src/core/ext/census/resource.h
+++ b/src/core/ext/census/resource.h
@@ -31,12 +31,33 @@
*
*/
-// Census-internal resource definition and manipluation functions.
+/* Census-internal resource definition and manipluation functions. */
#ifndef GRPC_CORE_EXT_CENSUS_RESOURCE_H
#define GRPC_CORE_EXT_CENSUS_RESOURCE_H
-// Initialize and shutdown the resources subsystem.
-void initialize_resources();
-void shutdown_resources();
+#include <grpc/grpc.h>
+#include "gen/census.pb.h"
+
+/* Internal representation of a resource. */
+typedef struct {
+ char *name;
+ char *description;
+ int32_t prefix;
+ int n_numerators;
+ google_census_Resource_BasicUnit *numerators;
+ int n_denominators;
+ google_census_Resource_BasicUnit *denominators;
+} resource;
+
+/* Initialize and shutdown the resources subsystem. */
+void initialize_resources(void);
+void shutdown_resources(void);
+
+/* Add a new resource, given a proposed resource structure. Returns the
+ resource ID, or -ve on failure.
+ TODO(aveitch): this function exists to support addition of the base
+ resources. It should be removed when we have the ability to add resources
+ from configuration files. */
+int32_t define_resource(const resource *base);
#endif /* GRPC_CORE_EXT_CENSUS_RESOURCE_H */