| 7445 | } |
| 7446 | |
| 7447 | func CreateBlock(t *testing.T, ctx context.Context, dir string, mint, maxt int64) *tsdb.Block { |
| 7448 | headOpts := tsdb.DefaultHeadOptions() |
| 7449 | headOpts.ChunkDirRoot = filepath.Join(dir, "chunks") |
| 7450 | headOpts.ChunkRange = 10000000000 |
| 7451 | h, err := tsdb.NewHead(nil, nil, nil, nil, headOpts, nil) |
| 7452 | require.NoError(t, err) |
| 7453 | defer func() { |
| 7454 | runutil.CloseWithErrCapture(&err, h, "TSDB Head") |
| 7455 | e := os.RemoveAll(headOpts.ChunkDirRoot) |
| 7456 | require.NoError(t, e) |
| 7457 | }() |
| 7458 | |
| 7459 | app := h.Appender(ctx) |
| 7460 | |
| 7461 | var ref storage.SeriesRef |
| 7462 | start := (maxt-mint)/2 + mint |
| 7463 | _, err = app.Append(ref, labels.FromStrings("test_label", "test_value"), start, float64(1)) |
| 7464 | require.NoError(t, err) |
| 7465 | err = app.Commit() |
| 7466 | require.NoError(t, err) |
| 7467 | |
| 7468 | logger := promslog.NewNopLogger() |
| 7469 | c, err := tsdb.NewLeveledCompactor(ctx, nil, logger, []int64{maxt - mint}, nil, nil) |
| 7470 | require.NoError(t, err) |
| 7471 | |
| 7472 | ids, err := c.Write(dir, h, mint, maxt, nil) |
| 7473 | require.NoError(t, err) |
| 7474 | blockId := ids[0] |
| 7475 | |
| 7476 | blockDir := filepath.Join(dir, blockId.String()) |
| 7477 | block, err := tsdb.OpenBlock(logger, blockDir, nil, nil) |
| 7478 | require.NoError(t, err) |
| 7479 | |
| 7480 | return block |
| 7481 | } |
| 7482 | |
| 7483 | type panickingMatchersCache struct{} |
| 7484 | |