Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
3d8e2a1
Merge branch 'pp' into test
u-veles-a Apr 21, 2025
e029ba3
Merge branch 'pp' into queryable_lss_copy
cherep58 Apr 21, 2025
346b448
Merge branch 'pp' into queryable_lss_copy
cherep58 Apr 22, 2025
4575b6e
add otlphandler
u-veles-a Apr 22, 2025
2f5e472
add test
u-veles-a Apr 22, 2025
149771e
Merge branch 'otlp_handler' into test
u-veles-a Apr 22, 2025
5869446
Merge branch 'test' into experement
u-veles-a Apr 22, 2025
34c21b7
for save
u-veles-a Apr 23, 2025
b2bf939
for save
u-veles-a Apr 23, 2025
39e65a5
for save
u-veles-a Apr 24, 2025
85a82a7
Merge branch 'pp' into queryable_lss_copy
cherep58 Apr 28, 2025
4dd4739
Merge branch 'pp' into queryable_lss_copy
cherep58 May 6, 2025
9c343f1
add go implementation
u-veles-a May 6, 2025
ae3ca2c
changed logic of prompp_primitives_lss_copy_added_series
cherep58 May 6, 2025
d4dc422
Merge branch 'queryable_lss_copy' into queryable_lss_copy_go
u-veles-a May 6, 2025
d1a0786
for save
u-veles-a May 6, 2025
d1786f2
for save
u-veles-a May 7, 2025
20507e1
Merge branch 'pp' into experement
u-veles-a May 12, 2025
ba61359
fix merge
u-veles-a May 12, 2025
3120b1e
Merge branch 'queryable_lss_copy_go' into experement
u-veles-a May 12, 2025
644cf0c
created entrypoint/label_set module
cherep58 May 13, 2025
d791724
created prompp_label_set_bytes GO-binding
cherep58 May 13, 2025
6ec347f
new labels
u-veles-a May 14, 2025
f4fb034
created prompp_label_set_bytes_with_labels GO-binding
cherep58 May 14, 2025
bc656bc
created prompp_label_set_bytes_without_labels GO-binding
cherep58 May 14, 2025
e224a21
fixed compilation error
cherep58 May 14, 2025
8138c14
created namespace Bytes
cherep58 May 14, 2025
69006f9
fixed compilation errors
cherep58 May 14, 2025
f0060ed
created prompp_create_readonly_lss GO-binding
cherep58 May 14, 2025
de58271
Merge branch 'pp' into readonly_lss_bytes_methods
cherep58 May 15, 2025
8f73b63
rebuild for drop metric name
u-veles-a May 15, 2025
3c6fadc
clearing
u-veles-a May 15, 2025
fb5ee18
Merge branch 'pp' into experement
u-veles-a May 15, 2025
5412078
Merge remote-tracking branch 'origin/create_readonly_lss_binding' int…
u-veles-a May 15, 2025
ea1e190
fix copy
u-veles-a May 15, 2025
61093e9
Merge remote-tracking branch 'origin/readonly_lss_bytes_methods' into…
u-veles-a May 15, 2025
d4d8a17
fix after merge
u-veles-a May 15, 2025
de16b41
rebuild bytes
u-veles-a May 16, 2025
181645d
for save
u-veles-a May 16, 2025
13bf0e1
revert
u-veles-a May 20, 2025
de24757
Merge branch 'pp' into labels_cpp
u-veles-a May 20, 2025
91911e6
fix after merge
u-veles-a May 20, 2025
d991279
Merge branch 'pp' into labels_cpp
u-veles-a Jun 4, 2025
7649069
fix after merge
u-veles-a Jun 4, 2025
447cebb
added reallocations detection for EncodingBimap
cherep58 Jun 5, 2025
499520f
created build_deferred_indexes method
cherep58 Jun 5, 2025
413a72a
improved code coverage for sorting_index
cherep58 Jun 5, 2025
ad10274
add test
u-veles-a Jun 5, 2025
b6994c2
for save
u-veles-a Jun 5, 2025
fc97491
Fix object loose bugs
vporoshok Jun 5, 2025
f942b6d
Merge branch 'fix-gc-leaks' of https://github.com/deckhouse/prompp in…
cherep58 Jun 5, 2025
37aa416
fixed bug with thread_local variable
cherep58 Jun 5, 2025
5ad7d4a
added support for empty readonly_lss in LabelSetBuilder
cherep58 Jun 5, 2025
2afeda9
Merge branch 'pp' of https://github.com/deckhouse/prompp into encodin…
cherep58 Jun 5, 2025
873b1f5
rebuild FindOrEmplaceFromBuilder
u-veles-a Jun 6, 2025
90b882e
Merge branch 'pp' into labels_cpp
u-veles-a Jun 6, 2025
cd5f6ba
for save
u-veles-a Jun 6, 2025
4b09ab7
rebuild builder
u-veles-a Jun 6, 2025
7a884ba
Merge branch 'pp' into labels_cpp
u-veles-a Jun 6, 2025
683f1f9
Merge remote-tracking branch 'origin/encoding_bimap_has_reallocations…
u-veles-a Jun 6, 2025
f1728c6
add hash builder, fix builder
u-veles-a Jun 6, 2025
438d4ce
fix tag
u-veles-a Jun 9, 2025
789ac4c
Merge branch 'pp' into encoding_bimap_has_reallocations
cherep58 Jun 9, 2025
b1e119b
Merge branch 'pp' into encoding_bimap_has_reallocations
cherep58 Jun 9, 2025
0abfb77
for save
u-veles-a Jun 10, 2025
43a3387
Merge branch 'pp' into encoding_bimap_has_reallocations
cherep58 Jun 10, 2025
88799f0
Merge branch 'pp' into encoding_bimap_has_reallocations
cherep58 Jun 10, 2025
b834758
pool
u-veles-a Jun 10, 2025
3908b8e
for save
u-veles-a Jun 18, 2025
efaceb7
for save
u-veles-a Jun 18, 2025
abf3fa6
some fix
u-veles-a Jun 18, 2025
5a93025
for save
u-veles-a Jun 18, 2025
2a97bf4
Merge branch 'pp' into labels_cpp
u-veles-a Jun 18, 2025
d1ecc5b
Merge remote-tracking branch 'origin/encoding_bimap_has_reallocations…
u-veles-a Jun 18, 2025
4b9f0d2
fix test
u-veles-a Jun 18, 2025
1818a6f
fix metrics
u-veles-a Jun 19, 2025
3e35e77
for save
u-veles-a Jun 20, 2025
47341ae
for save
u-veles-a Jun 20, 2025
40e966a
for save
u-veles-a Jun 20, 2025
9772ade
Merge branch 'pp' into labels_cpp
u-veles-a Jul 7, 2025
4e1188d
fix after merge
u-veles-a Jul 7, 2025
e9fc821
some fix
u-veles-a Jul 7, 2025
5f741e3
Merge branch 'pp' into labels_cpp
u-veles-a Jul 18, 2025
0beb4c4
fix after merge
u-veles-a Jul 18, 2025
f836217
fix after merge 2
u-veles-a Jul 18, 2025
45bcf31
some fix
u-veles-a Jul 21, 2025
85848a2
fix
u-veles-a Jul 22, 2025
12ac8af
Merge branch 'pp' into labels_cpp
u-veles-a Jul 22, 2025
17bb35d
fix atfer merge
u-veles-a Jul 22, 2025
30bd5dd
add check on collisions
u-veles-a Jul 23, 2025
d7c17fa
Merge branch 'pp' into labels_cpp
u-veles-a Jul 28, 2025
f6b14cb
fix test
u-veles-a Jul 28, 2025
3943d07
for save
u-veles-a Jul 29, 2025
92ae5d9
fix error nil pointer
u-veles-a Jul 29, 2025
0bd578c
for save
u-veles-a Aug 4, 2025
574c9f8
for save
u-veles-a Aug 5, 2025
63dc680
for save
u-veles-a Aug 5, 2025
6fddb82
for save
u-veles-a Aug 5, 2025
841f247
for save
u-veles-a Aug 7, 2025
a4f4640
for save
u-veles-a Aug 7, 2025
1c6b565
for save
u-veles-a Aug 7, 2025
a74334b
Merge branch 'pp' into rebuild_heads_container
u-veles-a Aug 7, 2025
9c4fa48
fix after merge
u-veles-a Aug 7, 2025
e36f2eb
rebuild querier, shard
u-veles-a Aug 7, 2025
641e852
for save
u-veles-a Aug 8, 2025
97c26b2
fix head
u-veles-a Aug 11, 2025
10deda4
Merge branch 'pp' into rebuild_heads_container
u-veles-a Aug 11, 2025
d0c43ce
add PerGoroutineRelabeler
u-veles-a Aug 12, 2025
1720ab6
Merge branch 'pp' into rebuild_heads_container
u-veles-a Aug 12, 2025
7c7896b
refactoring PerGoroutineRelabeler
u-veles-a Aug 14, 2025
4eb55a1
state and StatelessRelabeler
u-veles-a Aug 14, 2025
696c6f5
Merge branch 'pp' into rebuild_heads_container
u-veles-a Aug 22, 2025
85b2b0d
add catalog appender
u-veles-a Aug 26, 2025
141d22d
Merge branch 'pp' into rebuild_heads_container
u-veles-a Aug 26, 2025
2df6e10
add ready notifier
u-veles-a Aug 26, 2025
40b0e44
add builder
u-veles-a Aug 26, 2025
250828e
for save
u-veles-a Aug 26, 2025
da66d5d
for save
u-veles-a Aug 27, 2025
7f37a19
for save
u-veles-a Aug 28, 2025
3f99fe3
add chunkqurier
u-veles-a Aug 28, 2025
1c3c8db
rebuild
u-veles-a Aug 28, 2025
3fa04d5
fix fatal
u-veles-a Aug 28, 2025
f6c21c4
for save
u-veles-a Aug 29, 2025
76d1420
for save
u-veles-a Sep 1, 2025
098ff7d
for save
u-veles-a Sep 2, 2025
72bb59e
for save
u-veles-a Sep 4, 2025
4bca70a
for save
u-veles-a Sep 8, 2025
fbaca43
Merge branch 'pp' into rebuild_heads_container
u-veles-a Sep 8, 2025
42192e8
fix merge
u-veles-a Sep 8, 2025
df733d2
manager, mediator and minor edits
u-veles-a Sep 9, 2025
b1ea87f
adapter
u-veles-a Sep 10, 2025
d010bd6
adapter
u-veles-a Sep 11, 2025
d9e0fac
fix walreader
u-veles-a Sep 11, 2025
64d12f0
rebuild sreader
u-veles-a Sep 11, 2025
a57a26e
for save
u-veles-a Sep 11, 2025
7a7e259
for save
u-veles-a Sep 16, 2025
6f48484
rebuild state
u-veles-a Sep 18, 2025
e82d6a0
some fix
u-veles-a Sep 19, 2025
407c001
add test
u-veles-a Sep 22, 2025
552e885
add test
u-veles-a Sep 23, 2025
363bbf1
add test
u-veles-a Sep 23, 2025
9ced693
add wal reader test
u-veles-a Sep 24, 2025
a2247d9
for save
u-veles-a Sep 24, 2025
820ec16
Head keeper (#154)
cherep58 Sep 24, 2025
20f5c2f
Merge branch 'rebuild_heads_container' of github.com:deckhouse/prompp…
u-veles-a Sep 24, 2025
fb9a2e9
prototype, for save
u-veles-a Sep 24, 2025
1e816ce
debug
u-veles-a Sep 25, 2025
041b5bf
add log, letrics
u-veles-a Sep 25, 2025
6c0f8c4
smal fix
u-veles-a Sep 25, 2025
f2cf40d
Merge branch 'pp' into rebuild_heads_container
u-veles-a Sep 25, 2025
2a4d346
small fix
u-veles-a Sep 25, 2025
0527236
small fix
u-veles-a Sep 25, 2025
bb81c0a
some fix
u-veles-a Sep 26, 2025
02d56d7
fix metrics
u-veles-a Sep 26, 2025
cca12a7
fix state
u-veles-a Sep 26, 2025
55a2b5f
smal fix
u-veles-a Sep 29, 2025
e824b12
Merge branch 'pp' into rebuild_heads_container
u-veles-a Sep 29, 2025
00581e0
for save
u-veles-a Sep 29, 2025
2b46965
some fix
u-veles-a Sep 29, 2025
b4c1f68
some rebuild
u-veles-a Sep 29, 2025
a780b29
for save
u-veles-a Sep 29, 2025
5a804a1
some fix
u-veles-a Sep 30, 2025
061fa32
for save
u-veles-a Sep 30, 2025
ca54456
add notify to catalogGC
u-veles-a Sep 30, 2025
0039251
for save
u-veles-a Sep 30, 2025
6ae6659
added unit test for skip empty block
cherep58 Sep 30, 2025
7c321ca
Merge branch 'rebuild_heads_container' of github.com:deckhouse/prompp…
u-veles-a Oct 1, 2025
d421a5a
Rebuild head container lss snapshot copy (#161)
u-veles-a Oct 3, 2025
0f13ae0
add test
u-veles-a Oct 3, 2025
9c4a4bb
fix test
u-veles-a Oct 6, 2025
3645096
fix test
u-veles-a Oct 6, 2025
d64b42f
add test state
u-veles-a Oct 6, 2025
c70b0e0
add test head wal
u-veles-a Oct 6, 2025
cfb0f6e
add test PerGoroutineRelabeler
u-veles-a Oct 6, 2025
8cdd96a
add twst wal
u-veles-a Oct 7, 2025
cbce844
add descriptions
u-veles-a Oct 7, 2025
90eba40
add test querier
u-veles-a Oct 7, 2025
aed6be6
for save
u-veles-a Oct 7, 2025
fce6395
add test head
u-veles-a Oct 8, 2025
bc3bf1d
for save
u-veles-a Oct 8, 2025
d745cf7
fix test mediator
u-veles-a Oct 8, 2025
144e5b1
fix types
u-veles-a Oct 8, 2025
a40214a
add commiter test
u-veles-a Oct 8, 2025
3a2c3a1
add merger test
u-veles-a Oct 9, 2025
bd6b4a3
for save
u-veles-a Oct 9, 2025
fde36f8
Lss snapshot copy (#145)
gshigin Oct 9, 2025
1f1acf5
Refactored relabeler classes (#162)
cherep58 Oct 9, 2025
b457a93
Merge branch 'pp' into rebuild_heads_container
u-veles-a Oct 9, 2025
0c8b359
fix after merge
u-veles-a Oct 9, 2025
86a3d5b
add rotator test
u-veles-a Oct 10, 2025
03fde5a
some fix
u-veles-a Oct 10, 2025
2981644
Merge branch 'pp' into labels_cpp
u-veles-a Oct 10, 2025
b24fd93
fix after merge
u-veles-a Oct 10, 2025
06342f8
fix test
u-veles-a Oct 10, 2025
4c7d79a
gomod
u-veles-a Oct 10, 2025
c130a46
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 10, 2025
109ec2d
some fix
u-veles-a Oct 10, 2025
39440fc
rebuild
u-veles-a Oct 13, 2025
7ad9f29
some fix
u-veles-a Oct 13, 2025
cf8cde9
some fix
u-veles-a Oct 13, 2025
bf3f4de
fix review
u-veles-a Oct 13, 2025
e432887
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 13, 2025
1f2ac76
smal fix
u-veles-a Oct 13, 2025
30bdbe5
add metrics
u-veles-a Oct 13, 2025
4f76c0e
fix logger
u-veles-a Oct 13, 2025
97f2f5d
add wal metrics
u-veles-a Oct 14, 2025
6242519
fix wal notifier
u-veles-a Oct 14, 2025
ad2e3e0
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 14, 2025
1c8501d
fix
u-veles-a Oct 14, 2025
762a6fd
fix test
u-veles-a Oct 14, 2025
5d415a7
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 14, 2025
6f39ebf
fix
u-veles-a Oct 14, 2025
010493c
fix after review
u-veles-a Oct 15, 2025
7f9beac
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 15, 2025
251f14f
for save
u-veles-a Oct 15, 2025
31f295e
fix
u-veles-a Oct 15, 2025
c76f2f6
for save
u-veles-a Oct 15, 2025
013ecaf
for save
u-veles-a Oct 16, 2025
a7440c4
fix review
u-veles-a Oct 16, 2025
7b74bd4
Merge branch 'rebuild_heads_container' into labels_cpp_with_refactoring
u-veles-a Oct 16, 2025
17f80bc
fix test
u-veles-a Oct 16, 2025
39219a5
fix test
u-veles-a Oct 16, 2025
254de98
fix test
u-veles-a Oct 16, 2025
cafe6c0
fix
u-veles-a Oct 16, 2025
3d4374f
fix test
u-veles-a Oct 17, 2025
792b04c
Merge branch 'pp' into labels_cpp
u-veles-a Oct 23, 2025
25fe269
fix after merge
u-veles-a Oct 23, 2025
93fdb5c
Merge branch 'pp' into labels_cpp
u-veles-a Oct 29, 2025
f255ff1
fix after merge
u-veles-a Oct 29, 2025
c2e6863
Merge branch 'pp' into labels_cpp
u-veles-a Nov 12, 2025
45a3e10
fix after merge
u-veles-a Nov 12, 2025
f661f1f
Merge branch 'pp' into labels_cpp
u-veles-a Nov 18, 2025
1ed5945
fix after merge
u-veles-a Nov 18, 2025
5e311af
Merge branch 'pp' into labels_cpp
u-veles-a Dec 22, 2025
29356ff
fix after merge
u-veles-a Dec 22, 2025
de307a9
fix
u-veles-a Dec 24, 2025
bdfc119
find_from_builder
u-veles-a Dec 25, 2025
5ff9fc1
Merge branch 'pp' into labels_cpp
u-veles-a Dec 26, 2025
023fb16
fix after merge
u-veles-a Dec 26, 2025
af047d2
fix after merge
u-veles-a Dec 26, 2025
3aa99c6
Merge branch 'pp' into labels_cpp
u-veles-a Dec 29, 2025
4124e06
fix after merge
u-veles-a Dec 29, 2025
5cd2c97
Merge branch 'pp' into labels_cpp
u-veles-a Jan 13, 2026
c3830e2
small fix
u-veles-a Jan 13, 2026
e8163b3
for save
u-veles-a Jan 13, 2026
a350899
for save
u-veles-a Jan 14, 2026
ff6d6fa
some fix
u-veles-a Jan 15, 2026
2cdc316
Merge branch 'pp' into labels_cpp
u-veles-a Jan 15, 2026
729d655
fix after merge
u-veles-a Jan 15, 2026
f42b185
fix bitset reset
u-veles-a Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .promu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ build:
- netgo
- builtinassets
- osusergo
- stringlabels
# - stringlabels
- cpplabels
windows:
- builtinassets
- stringlabels
Expand Down
24 changes: 15 additions & 9 deletions cmd/prometheus/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,9 @@ func main() {
runtime.SetMutexProfileFraction(20)
}

lssctx, cancelLSS := context.WithCancel(context.Background())
labels.Storage.Run(lssctx)

var (
oldFlagRetentionDuration model.Duration
newFlagRetentionDuration model.Duration
Expand Down Expand Up @@ -790,23 +793,23 @@ func main() {
os.Exit(1)
}

remoteWriterReadyNotifier := ready.NewNotifiableNotifier()
remoteWriter := remotewriter.New(
dataDir,
headCatalog,
clock,
remoteWriterReadyNotifier,
prometheus.DefaultRegisterer,
)

adapter := pp_pkg_storage.NewAdapter(
clock,
hManager.Proxy(),
hManager.Builder(),
hManager.MergeOutOfOrderChunks,
prometheus.DefaultRegisterer,
)
labels.Storage.SetAdapter(adapter)

remoteWriterReadyNotifier := ready.NewNotifiableNotifier()
remoteWriter := remotewriter.New(
dataDir,
headCatalog,
clock,
remoteWriterReadyNotifier,
prometheus.DefaultRegisterer,
)
// PP_CHANGES.md: rebuild on cpp end

var (
Expand Down Expand Up @@ -898,6 +901,7 @@ func main() {
scrapeManager, err := scrape.NewManager(
&cfg.scrape,
log.With(logger, "component", "scrape manager"),
func(s string) (log.Logger, error) { return logging.NewJSONFileLogger(s) },
adapter,
prometheus.DefaultRegisterer,
)
Expand Down Expand Up @@ -1581,6 +1585,8 @@ func main() {
if err := queryEngine.Close(); err != nil {
level.Warn(logger).Log("msg", "Closing query engine failed", "err", err)
}

cancelLSS()
// PP_CHANGES.md: rebuild on cpp end

level.Info(logger).Log("msg", "See you next time!")
Expand Down
35 changes: 19 additions & 16 deletions cmd/prometheus/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,14 @@ func TestSendAlerts(t *testing.T) {
}{
{
in: []*rules.Alert{
{
Labels: labels.FromStrings("l1", "v1"),
Annotations: labels.FromStrings("a2", "v2"),
ActiveAt: time.Unix(1, 0),
FiredAt: time.Unix(2, 0),
ValidUntil: time.Unix(3, 0),
},
rules.NewAlert(
labels.FromStrings("l1", "v1"),
labels.FromStrings("a2", "v2"),
time.Unix(1, 0),
time.Unix(2, 0),
time.Time{},
time.Unix(3, 0),
),
},
exp: []*notifier.Alert{
{
Expand All @@ -167,13 +168,14 @@ func TestSendAlerts(t *testing.T) {
},
{
in: []*rules.Alert{
{
Labels: labels.FromStrings("l1", "v1"),
Annotations: labels.FromStrings("a2", "v2"),
ActiveAt: time.Unix(1, 0),
FiredAt: time.Unix(2, 0),
ResolvedAt: time.Unix(4, 0),
},
rules.NewAlert(
labels.FromStrings("l1", "v1"),
labels.FromStrings("a2", "v2"),
time.Unix(1, 0),
time.Unix(2, 0),
time.Unix(4, 0),
time.Time{},
),
},
exp: []*notifier.Alert{
{
Expand All @@ -195,7 +197,8 @@ func TestSendAlerts(t *testing.T) {
t.Run(strconv.Itoa(i), func(t *testing.T) {
senderFunc := senderFunc(func(alerts ...*notifier.Alert) {
require.NotEmpty(t, tc.in, "sender called with 0 alert")
require.Equal(t, tc.exp, alerts)
require.True(t, tc.exp[0].Equal(alerts[0]))
// require.Equal(t, tc.exp, alerts)
})
rules.SendAlerts(senderFunc, "http://localhost:9090")(context.TODO(), "up", tc.in...)
})
Expand Down Expand Up @@ -496,7 +499,7 @@ func TestDocumentation(t *testing.T) {

generatedContent := strings.ReplaceAll(stdout.String(), filepath.Base(promPath), strings.TrimSuffix(filepath.Base(promPath), ".test"))

expectedContent, err := os.ReadFile(filepath.Join("..", "..", "docs", "command-line", "prometheus.md"))
expectedContent, err := os.ReadFile(filepath.Join("..", "..", "docs", "command-line", "prompp.md")) // PP_CHANGES.md: rebuild on cpp
require.NoError(t, err)

require.Equal(t, string(expectedContent), generatedContent, "Generated content does not match documentation. Hint: run `make cli-documentation`.")
Expand Down
3 changes: 2 additions & 1 deletion cmd/promtool/rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/model/timestamp"
"github.com/prometheus/prometheus/pp-pkg/rules" // PP_CHANGES.md: rebuild on cpp
"github.com/prometheus/prometheus/pp/go/cppbridge"
"github.com/prometheus/prometheus/storage"
"github.com/prometheus/prometheus/tsdb"
tsdb_errors "github.com/prometheus/prometheus/tsdb/errors"
Expand Down Expand Up @@ -71,7 +72,7 @@ func newRuleImporter(logger log.Logger, config ruleImporterConfig, apiClient que

// loadGroups parses groups from a list of recording rule files.
func (importer *ruleImporter) loadGroups(_ context.Context, filenames []string) (errs []error) {
groups, errs := importer.ruleManager.LoadGroups(importer.config.evalInterval, labels.Labels{}, "", nil, filenames...)
groups, errs := importer.ruleManager.LoadGroups(importer.config.evalInterval, cppbridge.Labels{}, "", nil, filenames...) // PP_CHANGES.md: rebuild on cpp
if errs != nil {
return errs
}
Expand Down
7 changes: 4 additions & 3 deletions cmd/promtool/unittest.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import (
"github.com/prometheus/prometheus/model/histogram"
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/pp-pkg/rules" // PP_CHANGES.md: rebuild on cpp
"github.com/prometheus/prometheus/pp/go/cppbridge"
"github.com/prometheus/prometheus/promql"
"github.com/prometheus/prometheus/promql/parser"
"github.com/prometheus/prometheus/promql/promqltest"
Expand Down Expand Up @@ -192,7 +193,7 @@ type testGroup struct {
InputSeries []series `yaml:"input_series"`
AlertRuleTests []alertTestCase `yaml:"alert_rule_test,omitempty"`
PromqlExprTests []promqlTestCase `yaml:"promql_expr_test,omitempty"`
ExternalLabels labels.Labels `yaml:"external_labels,omitempty"`
ExternalLabels cppbridge.Labels `yaml:"external_labels,omitempty"` // PP_CHANGES.md: rebuild on cpp
ExternalURL string `yaml:"external_url,omitempty"`
TestGroupName string `yaml:"name,omitempty"`
}
Expand Down Expand Up @@ -342,8 +343,8 @@ func (tg *testGroup) test(evalInterval time.Duration, groupOrderMap map[string]i
for _, a := range ar.ActiveAlerts() {
if a.State == rules.StateFiring {
alerts = append(alerts, labelAndAnnotation{
Labels: a.Labels.Copy(),
Annotations: a.Annotations.Copy(),
Labels: a.Labels().Copy(), // PP_CHANGES.md: rebuild on cpp
Annotations: a.Annotations().Copy(), // PP_CHANGES.md: rebuild on cpp
})
}
}
Expand Down
10 changes: 5 additions & 5 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ import (
"gopkg.in/yaml.v2"

"github.com/prometheus/prometheus/discovery"
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/model/relabel"
pp_pkg_config "github.com/prometheus/prometheus/pp-pkg/config" // PP_CHANGES.md: rebuild on cpp
"github.com/prometheus/prometheus/pp/go/cppbridge" // PP_CHANGES.md: rebuild on cpp
"github.com/prometheus/prometheus/storage/remote/azuread"
"github.com/prometheus/prometheus/storage/remote/googleiam"
)
Expand Down Expand Up @@ -90,8 +90,8 @@ func Load(s string, expandExternalLabels bool, logger log.Logger) (*Config, erro
return cfg, nil
}

b := labels.NewScratchBuilder(0)
cfg.GlobalConfig.ExternalLabels.Range(func(v labels.Label) {
b := cppbridge.NewScratchBuilder(cfg.GlobalConfig.ExternalLabels.Len()) // PP_CHANGES.md: rebuild on cpp
cfg.GlobalConfig.ExternalLabels.Range(func(v cppbridge.Label) { // PP_CHANGES.md: rebuild on cpp
newV := os.Expand(v.Value, func(s string) string {
if s == "$" {
return "$"
Expand Down Expand Up @@ -442,7 +442,7 @@ type GlobalConfig struct {
// File to which scrape failures are logged.
ScrapeFailureLogFile string `yaml:"scrape_failure_log_file,omitempty"`
// The labels to add to any timeseries that this Prometheus instance scrapes.
ExternalLabels labels.Labels `yaml:"external_labels,omitempty"`
ExternalLabels cppbridge.Labels `yaml:"external_labels,omitempty"` // PP_CHANGES.md: rebuild on cpp
// An uncompressed response body larger than this many bytes will cause the
// scrape to fail. 0 means no limit.
BodySizeLimit units.Base2Bytes `yaml:"body_size_limit,omitempty"`
Expand Down Expand Up @@ -554,7 +554,7 @@ func (c *GlobalConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {
return err
}

if err := gc.ExternalLabels.Validate(func(l labels.Label) error {
if err := gc.ExternalLabels.Validate(func(l cppbridge.Label) error { // PP_CHANGES.md: rebuild on cpp
if !model.LabelName(l.Name).IsValid() {
return fmt.Errorf("%q is not a valid label name", l.Name)
}
Expand Down
10 changes: 5 additions & 5 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ import (
"github.com/prometheus/prometheus/discovery/vultr"
"github.com/prometheus/prometheus/discovery/xds"
"github.com/prometheus/prometheus/discovery/zookeeper"
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/model/relabel"
"github.com/prometheus/prometheus/pp/go/cppbridge"
"github.com/prometheus/prometheus/util/testutil"
)

Expand Down Expand Up @@ -89,7 +89,7 @@ var expectedConf = &Config{
QueryLogFile: "testdata/query.log",
ScrapeFailureLogFile: globScrapeFailureLogFile,

ExternalLabels: labels.FromStrings("foo", "bar", "monitor", "codelab"),
ExternalLabels: cppbridge.FromStrings("foo", "bar", "monitor", "codelab"), // PP_CHANGES.md: rebuild on cpp

BodySizeLimit: globBodySizeLimit,
SampleLimit: globSampleLimit,
Expand Down Expand Up @@ -2162,16 +2162,16 @@ func TestExpandExternalLabels(t *testing.T) {

c, err := LoadFile("testdata/external_labels.good.yml", false, false, log.NewNopLogger())
require.NoError(t, err)
testutil.RequireEqual(t, labels.FromStrings("bar", "foo", "baz", "foo${TEST}bar", "foo", "${TEST}", "qux", "foo$${TEST}", "xyz", "foo$$bar"), c.GlobalConfig.ExternalLabels)
testutil.RequireEqual(t, cppbridge.FromStrings("bar", "foo", "baz", "foo${TEST}bar", "foo", "${TEST}", "qux", "foo$${TEST}", "xyz", "foo$$bar"), c.GlobalConfig.ExternalLabels)

c, err = LoadFile("testdata/external_labels.good.yml", false, true, log.NewNopLogger())
require.NoError(t, err)
testutil.RequireEqual(t, labels.FromStrings("bar", "foo", "baz", "foobar", "foo", "", "qux", "foo${TEST}", "xyz", "foo$bar"), c.GlobalConfig.ExternalLabels)
testutil.RequireEqual(t, cppbridge.FromStrings("bar", "foo", "baz", "foobar", "foo", "", "qux", "foo${TEST}", "xyz", "foo$bar"), c.GlobalConfig.ExternalLabels)

os.Setenv("TEST", "TestValue")
c, err = LoadFile("testdata/external_labels.good.yml", false, true, log.NewNopLogger())
require.NoError(t, err)
testutil.RequireEqual(t, labels.FromStrings("bar", "foo", "baz", "fooTestValuebar", "foo", "TestValue", "qux", "foo${TEST}", "xyz", "foo$bar"), c.GlobalConfig.ExternalLabels)
testutil.RequireEqual(t, cppbridge.FromStrings("bar", "foo", "baz", "fooTestValuebar", "foo", "TestValue", "qux", "foo${TEST}", "xyz", "foo$bar"), c.GlobalConfig.ExternalLabels)
}

func TestAgentMode(t *testing.T) {
Expand Down
3 changes: 1 addition & 2 deletions config/pp_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import (
"gopkg.in/yaml.v2"

"github.com/prometheus/prometheus/config"
"github.com/prometheus/prometheus/model/labels"
"github.com/prometheus/prometheus/model/relabel"
pp_pkg_config "github.com/prometheus/prometheus/pp-pkg/config"
"github.com/prometheus/prometheus/pp/go/cppbridge"
Expand Down Expand Up @@ -171,7 +170,7 @@ var expectedConf = &config.Config{
EvaluationInterval: model.Duration(30 * time.Second),
QueryLogFile: "",

ExternalLabels: labels.FromStrings("foo", "bar", "monitor", "codelab"),
ExternalLabels: cppbridge.FromMap(map[string]string{"foo": "bar", "monitor": "codelab"}),

BodySizeLimit: 15 * units.MiB,
SampleLimit: 1500,
Expand Down
8 changes: 8 additions & 0 deletions discovery/kubernetes/pod_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ func expectedPodTargetGroups(ns string) map[string]*targetgroup.Group {
"__meta_kubernetes_pod_container_port_protocol": "TCP",
"__meta_kubernetes_pod_container_init": "false",
"__meta_kubernetes_pod_container_id": "docker://a1b2c3d4e5f6",
"__sample_limit__": "", // PP_CHANGES.md: sample limit with annotation
},
},
Labels: model.LabelSet{
Expand All @@ -233,6 +234,9 @@ func expectedPodTargetGroupsWithNodeMeta(ns, nodeName string, nodeLabels map[str
tg.Labels[model.LabelName("__meta_kubernetes_node_label_"+k)] = lv(v)
tg.Labels[model.LabelName("__meta_kubernetes_node_labelpresent_"+k)] = lv("true")
}
for _, target := range tg.Targets {
target["__sample_limit__"] = lv("") // PP_CHANGES.md: override sample limit with annotation
}
}

return result
Expand Down Expand Up @@ -260,6 +264,7 @@ func TestPodDiscoveryBeforeRun(t *testing.T) {
"__meta_kubernetes_pod_container_port_protocol": "TCP",
"__meta_kubernetes_pod_container_init": "false",
"__meta_kubernetes_pod_container_id": "docker://a1b2c3d4e5f6",
"__sample_limit__": "", // PP_CHANGES.md: sample limit with ann
},
{
"__address__": "1.2.3.4:9001",
Expand All @@ -270,13 +275,15 @@ func TestPodDiscoveryBeforeRun(t *testing.T) {
"__meta_kubernetes_pod_container_port_protocol": "UDP",
"__meta_kubernetes_pod_container_init": "false",
"__meta_kubernetes_pod_container_id": "docker://a1b2c3d4e5f6",
"__sample_limit__": "", // PP_CHANGES.md: sample limit with ann
},
{
"__address__": "1.2.3.4",
"__meta_kubernetes_pod_container_name": "testcontainer1",
"__meta_kubernetes_pod_container_image": "testcontainer1:latest",
"__meta_kubernetes_pod_container_init": "false",
"__meta_kubernetes_pod_container_id": "containerd://6f5e4d3c2b1a",
"__sample_limit__": "", // PP_CHANGES.md: sample limit with annotation
},
},
Labels: model.LabelSet{
Expand Down Expand Up @@ -313,6 +320,7 @@ func TestPodDiscoveryInitContainer(t *testing.T) {
"__meta_kubernetes_pod_container_image": "initcontainer:latest",
"__meta_kubernetes_pod_container_init": "true",
"__meta_kubernetes_pod_container_id": "containerd://6f5e4d3c2b1a",
"__sample_limit__": "", // PP_CHANGES.md: sample limit with annotation
})
expected[key].Labels["__meta_kubernetes_pod_phase"] = "Pending"
expected[key].Labels["__meta_kubernetes_pod_ready"] = "false"
Expand Down
Loading
Loading