Brian Brazil
4addee2bee
Fix honor_labels for empty labels, prune empty labels.
...
The semantics of honor_labels are that if a target exposes
and empty label it will override the target labels. This PR
fixes that by once again distinguishing between empty labels
and missing labels in this one use case.
Beyond that empty labels should be pruned and not added to storage,
which this also fixes.
Fixes #3841
7 years ago
Krasi Georgiev
9b7f0cfa88
rename initialize to make
7 years ago
Krasi Georgiev
9878d66484
exit early and panic for non slice on buffer.Put
7 years ago
Krasi Georgiev
f2c5913416
generalize the pool package and refactor scraper to use it.
7 years ago
Filip Ochnik
ec1c6b7c29
textparse: reject empty label names
7 years ago
Krasi Georgiev
b75428ec19
rename package retrieve to scrape
...
no fucnctinal changes just renaming retrieval to scrape
7 years ago
Julius Volz
192e665317
rulefmt: Allow parsing from bytes instead of file
...
This makes the rulefmt package more reusable for users whose rulesets are not
stored in files on disk. Concrete example: Cortex.
7 years ago
Conor Broderick
59d4c539d1
Added rule name to rule error for easier debugging ( #3549 )
7 years ago
Julius Volz
c3d6abc8e6
Fix some lint errors ( #3334 )
...
I left the promql ones and some others untouched as I remember that @fabxc
prefers them that way.
7 years ago
Krasi Georgiev
3697075b8f
validates that the recording name to include only allowed characters. ( #3305 )
7 years ago
Julius Volz
5da0fd91db
Add label matcher tests
7 years ago
Julius Volz
33c1171b9c
Don't add anchoring to exported `Value` matcher field
...
Instead, just make the anchoring part of the internal regex. This helps because
some users will want to read back the `Value` field and expect it to be the
same as the input value (e.g. some tests in Cortex), or use the value in
another context which is already expected to add its own anchoring, leading to
superfluous double anchoring (such as when we translate matchers into remote
read request matchers).
7 years ago
Fabian Reinartz
d6f6ad67b3
pkg/pool: create bucketed memory pool package.
7 years ago
Goutham Veeramachaneni
11ee713ced
Handle common escape characters properly. ( #2995 )
...
Fixes #2974
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
7 years ago
Julius Volz
c6f41ce391
Allow metric and label names to begin with underscores ( #2961 )
...
While this is not recommended, it is allowed in our data model
(https://prometheus.io/docs/concepts/data_model/ ).
Fixes https://github.com/prometheus/prometheus/issues/2959
7 years ago
Goutham Veeramachaneni
b7eddbcd98
textparse: Add fuzzing and fix bug caught
...
See https://github.com/cznic/golex/issues/11 for info on the bug
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
7 years ago
Goutham Veeramachaneni
0e78b7e7c8
parser: support spaces everywhere
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
7 years ago
Brian Brazil
dd07f693c8
Single quotes are not valid label value delimiters.
8 years ago
Brian Brazil
a6ca391e6e
Reject scrapes with invalid utf-8 label values.
8 years ago
Goutham Veeramachaneni
592cb00c2f
Remove version from RuleGroups
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
6b70a4d850
Incorporate PR feedback
...
* Move fingerprint to Hash()
* Move away from tsdb.MultiError
* 0777 -> 0666 for files
* checkOverflow of extra fields
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
dc69645e92
Move back to go-yaml
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
e893c89333
Validate labels and annotations
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
c884881f7d
Add License Header
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
2d1e92513b
Add tests
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
a48a018368
Make sure groups are unique in a single file
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
cea1e99f78
Add update-rules command to promtool
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
8 years ago
Goutham Veeramachaneni
e8f55669ea
Move rules to new format
...
Signed-off-by: Goutham Veeramachaneni <goutham@boomerangcommerce.com>
8 years ago
Fabian Reinartz
c843a0cd29
pkg/rulefmt: Add rule group parsing
8 years ago
Fabian Reinartz
bc7aff8cef
retrieval: extract scrape cache
8 years ago
Fabian Reinartz
a83014f53c
retrieval: fix memory leak and consumption for caches
8 years ago
Fabian Reinartz
bdc763f95f
pkg/textparse: allow null bytes in label values
8 years ago
Brian Brazil
9aa8f822c1
Fix typo
8 years ago
Fabian Reinartz
ea09299ca5
pkg/textparse: handle trailing labels comma ( #2752 )
8 years ago
Brian Brazil
73049ba79d
Make the choice of NaN values clearer.
...
Also switch stale nan value to one more suitable for expansion.
8 years ago
Brian Brazil
a5cf25743c
Move stalness check into a function
8 years ago
Brian Brazil
beaa7d5a43
Move consistent NaN logic into the parser.
8 years ago
Brian Brazil
76acf7b9b1
Ensure all the NaNs we ingest have the same bit pattern.
8 years ago
Fabian Reinartz
f7c5d96e84
pkg/textparse: parse metric names with ':'
8 years ago
Fabian Reinartz
377886b371
pkg/textparse: implement timestamp parsing
8 years ago
Brian Brazil
5c9a6ce747
Add license to files.
...
This should fix CI for dev-2.0.
8 years ago
Fabian Reinartz
d9fb57cde4
*: Simplify []byte to string unsafe conversion
8 years ago
Fabian Reinartz
d80a3de235
pkg/textparse: add documentation
8 years ago
Fabian Reinartz
db48726a6b
pkg/textparse: allocate single string per metric
8 years ago
Fabian Reinartz
c691895a0f
retrieval: cache series references, use pkg/textparse
...
With this change the scraping caches series references and only
allocates label sets if it has to retrieve a new reference.
pkg/textparse is used to do the conditional parsing and reduce
allocations from 900B/sample to 0 in the general case.
8 years ago
Fabian Reinartz
fb3ab9bdb7
pkg/textparse: add more benchmarking, align lex defs
8 years ago
Fabian Reinartz
e44d80314d
pkg/textparse: add tests and method to retrieve full labels
8 years ago
Fabian Reinartz
091a7f2395
pkg/textparse: add initial text parser
8 years ago
Fabian Reinartz
e94b0899ee
rules: fix tests, remove model types
8 years ago
Fabian Reinartz
8b4e4a9d2b
notifier: fully use labels.Labels
8 years ago