// Test creating a datastore and adding some spans. func TestDatastoreWriteAndRead(t *testing.T) { t.Parallel() htraceBld := &MiniHTracedBuilder{Name: "TestDatastoreWriteAndRead", Cnf: map[string]string{ conf.HTRACE_DATASTORE_HEARTBEAT_PERIOD_MS: "30000", }, WrittenSpans: common.NewSemaphore(0), } ht, err := htraceBld.Build() if err != nil { panic(err) } defer ht.Close() createSpans(SIMPLE_TEST_SPANS, ht.Store) span := ht.Store.FindSpan(common.TestId("00000000000000000000000000000001")) if span == nil { t.Fatal() } if !span.Id.Equal(common.TestId("00000000000000000000000000000001")) { t.Fatal() } common.ExpectSpansEqual(t, &SIMPLE_TEST_SPANS[0], span) children := ht.Store.FindChildren(common.TestId("00000000000000000000000000000001"), 1) if len(children) != 1 { t.Fatalf("expected 1 child, but got %d\n", len(children)) } children = ht.Store.FindChildren(common.TestId("00000000000000000000000000000001"), 2) if len(children) != 2 { t.Fatalf("expected 2 children, but got %d\n", len(children)) } sort.Sort(common.SpanIdSlice(children)) if !children[0].Equal(common.TestId("00000000000000000000000000000002")) { t.Fatal() } if !children[1].Equal(common.TestId("00000000000000000000000000000003")) { t.Fatal() } }
// Test creating a datastore and adding some spans. func TestDatastoreWriteAndRead(t *testing.T) { t.Parallel() htraceBld := &MiniHTracedBuilder{Name: "TestDatastoreWriteAndRead", WrittenSpans: make(chan *common.Span, 100)} ht, err := htraceBld.Build() if err != nil { panic(err) } defer ht.Close() createSpans(SIMPLE_TEST_SPANS, ht.Store) if ht.Store.GetStatistics().NumSpansWritten < uint64(len(SIMPLE_TEST_SPANS)) { t.Fatal() } span := ht.Store.FindSpan(common.TestId("00000000000000000000000000000001")) if span == nil { t.Fatal() } if !span.Id.Equal(common.TestId("00000000000000000000000000000001")) { t.Fatal() } common.ExpectSpansEqual(t, &SIMPLE_TEST_SPANS[0], span) children := ht.Store.FindChildren(common.TestId("00000000000000000000000000000001"), 1) if len(children) != 1 { t.Fatalf("expected 1 child, but got %d\n", len(children)) } children = ht.Store.FindChildren(common.TestId("00000000000000000000000000000001"), 2) if len(children) != 2 { t.Fatalf("expected 2 children, but got %d\n", len(children)) } sort.Sort(common.SpanIdSlice(children)) if !children[0].Equal(common.TestId("00000000000000000000000000000002")) { t.Fatal() } if !children[1].Equal(common.TestId("00000000000000000000000000000003")) { t.Fatal() } }