def testGetAllMetricsMetadataWorksCorrectlyOnSimpleMetrics(self): counter_name = "testGAMM_SimpleMetrics_counter" int_gauge_name = "testGAMM_SimpleMetrics_int_gauge" event_metric_name = "testGAMM_SimpleMetrics_event_metric" collector = self._CreateStatsCollector([ stats_utils.CreateCounterMetadata(counter_name), stats_utils.CreateGaugeMetadata(int_gauge_name, int, fields=[("dimension", str)]), stats_utils.CreateEventMetadata(event_metric_name) ]) metrics = collector.GetAllMetricsMetadata() self.assertEqual(metrics[counter_name].metric_type, rdf_stats.MetricMetadata.MetricType.COUNTER) self.assertFalse(metrics[counter_name].fields_defs) self.assertEqual(metrics[int_gauge_name].metric_type, rdf_stats.MetricMetadata.MetricType.GAUGE) self.assertEqual(metrics[int_gauge_name].fields_defs, [ rdf_stats.MetricFieldDefinition( field_name="dimension", field_type=rdf_stats.MetricFieldDefinition.FieldType.STR) ]) self.assertEqual(metrics[event_metric_name].metric_type, rdf_stats.MetricMetadata.MetricType.EVENT) self.assertFalse(metrics[event_metric_name].fields_defs)
def FieldDefinitionProtosFromTuples(field_def_tuples): """Converts (field-name, type) tuples to MetricFieldDefinition protos.""" field_def_protos = [] for field_name, field_type in field_def_tuples: if field_type in (int, long): field_type = rdf_stats.MetricFieldDefinition.FieldType.INT elif field_type == str: field_type = rdf_stats.MetricFieldDefinition.FieldType.STR else: raise ValueError("Invalid field type: %s" % field_type) field_def_protos.append( rdf_stats.MetricFieldDefinition(field_name=field_name, field_type=field_type)) return field_def_protos
def FieldDefinitionProtosFromTuples(field_def_tuples): """Converts (field-name, type) tuples to MetricFieldDefinition protos.""" # TODO: This needs fixing for Python 3. field_def_protos = [] for field_name, field_type in field_def_tuples: if field_type in (int, long): field_type = rdf_stats.MetricFieldDefinition.FieldType.INT elif issubclass(field_type, Text): field_type = rdf_stats.MetricFieldDefinition.FieldType.STR else: raise ValueError("Invalid field type: %s" % field_type) field_def_protos.append( rdf_stats.MetricFieldDefinition(field_name=field_name, field_type=field_type)) return field_def_protos