public ClusterMetrics(ProtoMetrics metrics)
        {
            ClusterActorGauge = metrics.CreateGauge("protocluster_virtualactors", "", "id", "address", "clusterkind");

            ClusterActorSpawnHistogram =
                metrics.CreateHistogram("protocluster_virtualactor_spawn_duration_seconds", "", "id", "address", "clusterkind");

            ClusterRequestHistogram = metrics.CreateHistogram("protocluster_virtualactor_requestasync_duration_seconds", "", "id", "address",
                                                              "clusterkind", "messagetype", "pidsource"
                                                              );

            ClusterRequestRetryCount = metrics.CreateCount("protocluster_virtualactor_requestasync_retry_count", "", "id", "address", "clusterkind",
                                                           "messagetype"
                                                           );

            ClusterTopologyEventGauge = metrics.CreateGauge("protocluster_topology_events", "", "id", "address", "membershiphashcode");

            ClusterResolvePidHistogram =
                metrics.CreateHistogram("protocluster_resolve_pid_duration_seconds", "", "id", "address", "clusterkind");
        }
 public IdentityMetrics(ProtoMetrics metrics)
 {
     WaitForActivationHistogram = metrics.CreateHistogram("protocluster_identity_wait_for_activation_duration_in_seconds", "", "id", "address", "clusterkind");
     GetWithGlobalLockHistogram = metrics.CreateHistogram("protocluster_identity_get_with_global_lock_duration_in_seconds", "", "id", "address", "clusterkind");
     TryAcquireLockHistogram    = metrics.CreateHistogram("protocluster_identity_try_aquire_lock_duration_in_seconds", "", "id", "address", "clusterkind");
 }