Skip to content

Commit

Permalink
simplify sed for docgen
Browse files Browse the repository at this point in the history
  • Loading branch information
jotak committed Feb 26, 2024
1 parent 6a101d0 commit ad31ab3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 15 deletions.
6 changes: 3 additions & 3 deletions hack/update-enum-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ md_file="./docs/api.md"
grep "placeholder @" "$md_file" | while read line; do
type=$(echo "$line" | sed -r 's/^placeholder @(.*):(.*)@/\1/')
indent=$(echo "$line" | sed -r 's/^placeholder @(.*):(.*)@/\2/')
repl=$(go doc -all -short -C pkg/api $type | sed -r ':x ; /\/\// { N ; s/\/\/ (.*)\n/\1##/ ; bx }' | grep "##" | sed -r "s/\s*(.*)##.*\"(.*)\"/$(printf "%${indent}s")\2: \1/")
repl=$(go doc -all -short -C pkg/api $type | grep "MetricFilterEnum =" | sed -r "s/^.*\"(.*)\".*\/\/ (.*)/$(printf "%${indent}s")\1: \2/")
awk -v inject="${repl}" "/placeholder @$type:$indent@/{print inject;next}1" $md_file > "$md_file.tmp"
rm $md_file
mv "$md_file.tmp" $md_file
done

rm $md_file
mv "$md_file.tmp" $md_file
19 changes: 7 additions & 12 deletions pkg/api/encode_prom.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,13 @@ type MetricsItem struct {
type MetricFilterEnum string

const (
// match exactly the provided filter value
MetricFilterEqual MetricFilterEnum = "equal"
// the value must be different from the provided filter
MetricFilterNotEqual MetricFilterEnum = "not_equal"
// filter key must be present (filter value is ignored)
MetricFilterPresence MetricFilterEnum = "presence"
// filter key must be absent (filter value is ignored)
MetricFilterAbsence MetricFilterEnum = "absence"
// match filter value as a regular expression
MetricFilterRegex MetricFilterEnum = "match_regex"
// the filter value must not match the provided regular expression
MetricFilterNotRegex MetricFilterEnum = "not_match_regex"
// For doc generation, enum definitions must match format `Constant Type = "value" // doc`
MetricFilterEqual MetricFilterEnum = "equal" // match exactly the provided filter value
MetricFilterNotEqual MetricFilterEnum = "not_equal" // the value must be different from the provided filter
MetricFilterPresence MetricFilterEnum = "presence" // filter key must be present (filter value is ignored)
MetricFilterAbsence MetricFilterEnum = "absence" // filter key must be absent (filter value is ignored)
MetricFilterRegex MetricFilterEnum = "match_regex" // match filter value as a regular expression
MetricFilterNotRegex MetricFilterEnum = "not_match_regex" // the filter value must not match the provided regular expression
)

type MetricsItems []MetricsItem
Expand Down

0 comments on commit ad31ab3

Please sign in to comment.