def main(args): client = KronosClient(args.kronos_url) headers = [ 'stream', 'total_events', 'events_per_day', 'events_per_sec', 'payload_total_bytes', 'payload_avg_bytes', 'payload_med_bytes', 'payload_95_bytes', 'payload_99_bytes', 'schema', ] if args.csv: csv_file = open(args.csv, 'w') writer = csv.DictWriter(csv_file, headers) writer.writeheader() else: print '-' * 79 for stream in client.get_streams(): total_events = 0 payloads = [] for event in client.get(stream, args.start, args.end): payloads.append(len(ujson.dumps(event))) total_events += 1 if total_events == 0: indent('%s has no events' % stream, 2) print '-' * 79 continue timeframe_sec = (args.end - args.start).total_seconds() schema = client.infer_schema(stream)['schema'] context = dict( zip(headers, [ stream, total_events, (float(total_events) / timeframe_sec) * 60 * 60 * 24, float(total_events) / timeframe_sec, np.sum(payloads), np.mean(payloads), np.median(payloads), np.percentile(payloads, 95), np.percentile(payloads, 99), schema, ])) if args.csv: writer.writerow(context) else: indent(output % context, 2) print '-' * 79
def main(args): client = KronosClient(args.kronos_url) headers = [ 'stream', 'total_events', 'events_per_day', 'events_per_sec', 'payload_total_bytes', 'payload_avg_bytes', 'payload_med_bytes', 'payload_95_bytes', 'payload_99_bytes', 'schema', ] if args.csv: csv_file = open(args.csv, 'w') writer = csv.DictWriter(csv_file, headers) writer.writeheader() else: print '-' * 79 for stream in client.get_streams(): total_events = 0 payloads = [] for event in client.get(stream, args.start, args.end): payloads.append(len(ujson.dumps(event))) total_events += 1 if total_events == 0: indent('%s has no events' % stream, 2) print '-' * 79 continue timeframe_sec = (args.end - args.start).total_seconds() schema = client.infer_schema(stream)['schema'] context = dict(zip(headers, [ stream, total_events, (float(total_events) / timeframe_sec) * 60 * 60 * 24, float(total_events) / timeframe_sec, np.sum(payloads), np.mean(payloads), np.median(payloads), np.percentile(payloads, 95), np.percentile(payloads, 99), schema, ])) if args.csv: writer.writerow(context) else: indent(output % context, 2) print '-' * 79
def infer_schema(stream_name=None): client = KronosClient(app.config['KRONOS_URL'], namespace=app.config['KRONOS_NAMESPACE']) schema = client.infer_schema(stream_name, namespace=app.config['KRONOS_NAMESPACE']) return schema
def infer_schema(stream_name=None): kc = KronosClient(current_app.config['KRONOS_URL'], namespace=current_app.config['KRONOS_NAMESPACE']) schema = kc.infer_schema(stream_name, namespace=current_app.config['KRONOS_NAMESPACE']) return schema