internal void Internalize(EventMetric metric) { lock (m_Lock) { Monitor.EventMetric internalMetric = metric.WrappedMetric; m_Externalized[internalMetric] = metric; } }
internal EventMetric Externalize(Monitor.EventMetric eventMetric) { if (eventMetric == null) { return(null); } lock (m_Lock) { EventMetric externalDefinition; if (m_Externalized.TryGetValue(eventMetric, out externalDefinition) == false) { externalDefinition = new EventMetric(m_MetricDefinition, eventMetric); m_Externalized[eventMetric] = externalDefinition; } return(externalDefinition); } }
/// <summary> /// Create a new metric with the provided API event metric definition and an internal event metric object to wrap. /// </summary> /// <remarks>The new metric will automatically be added to the metric definition's metrics collection.</remarks> /// <param name="definition">The API event metric definition that defines this metric</param> /// <param name="metric">The internal event metric</param> internal EventMetric(EventMetricDefinition definition, Monitor.EventMetric metric) { m_MetricDefinition = definition; m_WrappedMetric = metric; }