+void
+g2_test_pattern (elog_main_t * em, int g2_test, char *dump_file)
+{
+ int i, j;
+ clib_error_t *error;
+ elog_track_t *tracks = 0;
+
+ elog_init (em, 100000);
+ elog_enable_disable (em, 1 /* enable */ );
+
+ for (i = 0; i < 100; i++)
+ {
+ elog_track_t *t;
+ vec_validate (tracks, i);
+ t = tracks + i;
+ t->name = (char *) format (0, "Track %3d", i + 1);
+ elog_track_register (em, t);
+ }
+
+ for (i = 0; i < 100; i++)
+ {
+ for (j = 0; j < 100; j++)
+ {
+ ELOG_TYPE_DECLARE (e) =
+ {
+ .format = "0: t%d event %d",.format_args = "i4i4",};
+ ELOG_TYPE_DECLARE (e2) =
+ {
+ .format = "1: t%d event %d",.format_args = "i4i4",};
+
+ struct
+ {
+ int track, event;
+ } *ed;
+
+ ed = ELOG_TRACK_DATA (em, e, tracks[j]);
+ ed->track = j + 1;
+ ed->event = i;
+ ed = ELOG_TRACK_DATA (em, e2, tracks[j]);
+ ed->track = j + 1;
+ ed->event = i;
+ }
+ }
+
+ if (dump_file == 0)
+ dump_file = "/tmp/g2_test.elog";
+
+ error = elog_write_file (em, dump_file, 1 /* flush ring */ );
+
+ if (error)
+ clib_error_report (error);
+}
+
+