Exemple #1
0
    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)
Exemple #2
0
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
Exemple #3
0
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