def metrics(period, resolution, tag, threads, metricsfile):
try:
pool = Pool(processes=threads)
period_seconds = period * 3600
resolution_seconds = resolution * 3600
if metricsfile:
with open(metricsfile) as fp:
m = json.loads(fp.read().replace('][', ','))
else:
m = metrics_api.get_tag_metrics(tag_name=tag, **context.settings)
click.echo(click.style('Found: %s metrics', fg='green') % (len(m)))
expire = partial(_expire_metric_path, period_seconds, resolution_seconds, tag)
expired_paths = tqdm(pool.imap_unordered(expire, m))
expired_paths = sum(filter(None, expired_paths))
click.echo(click.style('Expired: %s metric paths', fg='green') % expired_paths)
except Exception, e:
print 'Cleanup metrics failed. %s' % e
finally:
pool.terminate()
pool.join()
评论列表
文章目录