@@ -353,27 +353,27 @@ def test_template_multi_tag_no_field(self):
353
353
"*.interface.* host.measurement.device.metric" ,
354
354
]
355
355
mem_measurement = 'memory'
356
- tags = {'host' : 'my_host' ,
357
- 'metric' : 'some_metric ' ,
356
+ mem_tags = {'host' : 'my_host' ,
357
+ 'metric' : 'mem_metric ' ,
358
358
}
359
359
fields = {'value' : 1 ,
360
360
}
361
- self .write_data ([mem_measurement ], tags , fields )
361
+ self .write_data ([mem_measurement ], mem_tags , fields )
362
362
int_measurement = 'interface'
363
- tags = {'host' : 'my_host' ,
364
- 'device' : 'dev' ,
365
- 'metric' : 'some_metric ' ,
366
- }
363
+ int_tags = {'host' : 'my_host' ,
364
+ 'device' : 'dev' ,
365
+ 'metric' : 'int_metric ' ,
366
+ }
367
367
fields = {'value' : 1 ,
368
368
}
369
- self .write_data ([int_measurement ], tags , fields )
369
+ self .write_data ([int_measurement ], int_tags , fields )
370
370
self .config ['influxdb' ]['templates' ] = templates
371
371
self .finder = influxgraph .InfluxDBFinder (self .config )
372
372
##
373
373
query = Query ('%s.%s.*' % (
374
- tags ['host' ], mem_measurement ,))
374
+ mem_tags ['host' ], mem_measurement ,))
375
375
nodes = list (self .finder .find_nodes (query ))
376
- self .assertEqual (sorted ([n .name for n in nodes ]), [tags ['metric' ]])
376
+ self .assertEqual (sorted ([n .name for n in nodes ]), [mem_tags ['metric' ]])
377
377
time_info , data = self .finder .fetch_multi (
378
378
nodes , int (self .start_time .strftime ("%s" )),
379
379
int (self .end_time .strftime ("%s" )))
@@ -383,29 +383,22 @@ def test_template_multi_tag_no_field(self):
383
383
self .num_datapoints , nodes [0 ].path , len (datapoints ),))
384
384
##
385
385
query = Query ('%s.%s.*' % (
386
- tags ['host' ], int_measurement ,))
386
+ int_tags ['host' ], int_measurement ,))
387
387
nodes = list (self .finder .find_nodes (query ))
388
- self .assertEqual (sorted ([n .name for n in nodes ]), [tags ['device' ]])
388
+ self .assertEqual (sorted ([n .name for n in nodes ]), [int_tags ['device' ]])
389
389
time_info , data = self .finder .fetch_multi (
390
390
nodes , int (self .start_time .strftime ("%s" )),
391
391
int (self .end_time .strftime ("%s" )))
392
392
for metric in [n .path for n in nodes ]:
393
- datapoints = [v for v in data [metric ] if v ]
394
- self .assertTrue (len (datapoints ) == self .num_datapoints ,
395
- msg = "Expected %s datapoints for %s - got %s" % (
396
- self .num_datapoints , metric , len (datapoints ),))
393
+ self .assertTrue (len (data [metric ]) == 0 )
397
394
query = Query ('%s.%s.*.*' % (
398
- tags ['host' ], int_measurement ,))
395
+ int_tags ['host' ], int_measurement ,))
399
396
nodes = list (self .finder .find_nodes (query ))
400
- self .assertEqual (sorted ([n .name for n in nodes ]), [tags ['metric' ]])
397
+ self .assertEqual (sorted ([n .name for n in nodes ]), [int_tags ['metric' ]])
401
398
time_info , data = self .finder .fetch_multi (
402
399
nodes , int (self .start_time .strftime ("%s" )),
403
400
int (self .end_time .strftime ("%s" )))
404
- for metric in [n .path for n in nodes ]:
405
- datapoints = [v for v in data [metric ] if v ]
406
- self .assertTrue (len (datapoints ) == self .num_datapoints ,
407
- msg = "Expected %s datapoints for %s - got %s" % (
408
- self .num_datapoints , metric , len (datapoints ),))
401
+ self ._test_data_in_nodes (nodes )
409
402
410
403
def test_template_multiple_tags (self ):
411
404
self .client .drop_database (self .db_name )
@@ -504,18 +497,19 @@ def test_data_with_fields(self):
504
497
measurements = ['cpu-0' , 'cpu-1' , 'cpu-2' , 'cpu-3' ]
505
498
fields = {'load' : 1 , 'idle' : 1 ,
506
499
'usage' : 1 , 'user' : 1 ,
507
- 'user.io ' : 1 , 'idle.io ' : 1 ,
508
- 'load.io' : 1 , 'usage.io ' : 1 ,
509
- }
500
+ 'io.usr ' : 1 , 'io.swp ' : 1 ,
501
+ 'io.sys ' : 1 ,
502
+ }
510
503
tags = {'host' : 'my_host' ,
511
504
'env' : 'my_env' ,
512
505
}
513
506
cpu_metrics = ['.' .join (['my_host' , m , f ])
514
507
for m in measurements
515
- for f in ['load' , 'usage' , 'user' , 'idle' ]]
508
+ for f in ['load' , 'usage' , 'user' , 'idle' ,
509
+ 'io' ]]
516
510
io_metrics = ['.' .join (['my_host' , m , f ])
517
511
for m in measurements
518
- for f in ['user.io' , 'idle.io ' , 'load.io ' , 'usage.io ' ]]
512
+ for f in ['io.usr ' , 'io.swp ' , 'io.sys ' ]]
519
513
self .client .drop_database (self .db_name )
520
514
self .client .create_database (self .db_name )
521
515
self .write_data (measurements , tags , fields )
@@ -530,13 +524,12 @@ def test_data_with_fields(self):
530
524
nodes = list (self .finder .find_nodes (query ))
531
525
node_paths = sorted ([n .path for n in nodes ])
532
526
expected = sorted (cpu_metrics )
533
- self .assertEqual (node_paths , expected ,
534
- msg = "Got query %s result %s - wanted %s" % (
535
- query .pattern , node_paths , expected ,))
527
+ self .assertEqual (node_paths , expected )
536
528
time_info , data = self .finder .fetch_multi (nodes ,
537
529
int (self .start_time .strftime ("%s" )),
538
530
int (self .end_time .strftime ("%s" )))
539
- for metric in cpu_metrics :
531
+ cpu_leaf_nodes = [m for m in cpu_metrics if not m .endswith ('io' )]
532
+ for metric in cpu_leaf_nodes :
540
533
self .assertTrue (metric in data ,
541
534
msg = "Did not get data for requested series %s - got data for %s" % (
542
535
metric , data .keys (),))
@@ -547,11 +540,15 @@ def test_data_with_fields(self):
547
540
time_info , _data = self .finder .fetch_multi (nodes ,
548
541
int (self .start_time .strftime ("%s" )),
549
542
int (self .end_time .strftime ("%s" )))
550
- for metric in cpu_metrics :
543
+ for metric in cpu_leaf_nodes :
551
544
datapoints = [v for v in _data [metric ] if v ]
552
545
self .assertTrue (len (datapoints ) == self .num_datapoints ,
553
546
msg = "Expected %s datapoints for %s - got %s" % (
554
547
self .num_datapoints , metric , len (datapoints ),))
548
+ query = Query ('%s.*.*.*' % (tags ['host' ],))
549
+ nodes = list (self .finder .find_nodes (query ))
550
+ self .assertEqual (sorted ([n .path for n in nodes ]), sorted (io_metrics ))
551
+ self ._test_data_in_nodes (nodes )
555
552
556
553
def test_multi_tag_values_multi_measurements (self ):
557
554
measurements = ['cpu-0' , 'cpu-1' , 'cpu-2' , 'cpu-3' ]
0 commit comments