Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
loki/.golangci.yml

104 lines
2.6 KiB

# This file contains all available configuration options
# with their default values.
# options for analysis running
run:
# define go version
go: "1.23"
# default concurrency is a available CPU number
concurrency: 16
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 10m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# include test files or not, default is true
tests: true
# list of build tags, all linters use it. Default is empty list.
build-tags:
- cgo
- integration
# output configuration options
output:
formats:
# colored-line-number|line-number|json|tab|checkstyle, default is "colored-line-number"
- format: colored-line-number
# print lines of code with issue, default is true
print-issued-lines: true
# print linter name in the end of issue text, default is true
print-linter-name: true
linters-settings:
goimports:
local-prefixes: github.com/grafana/loki/pkg,github.com/grafana/loki/tools
depguard:
rules:
Main:
deny:
- desc: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
pkg: github.com/go-kit/kit/log
misspell:
ignore-words:
- strat
linters:
enable:
- errcheck
- goconst
- revive
- ineffassign
- misspell
- unconvert
- govet
- typecheck
- depguard
- copyloopvar
- gofmt
- goimports
- gosimple
- staticcheck
- gochecksumtype
disable:
- unused
- unparam
issues:
exclude:
- Error return value of .*log\.Logger\)\.Log\x60 is not checked
- Error return value of .*.Log.* is not checked
- Error return value of `` is not checked
chore: Add tree printer for physical plan (#16716) This PR adds a generic tree printer (similar to the Unix utility `tree`). Additionally it provides an implementation to convert the DAG of the physical plan into the generic tree used by the tree printer. This allows to print plans like this (note, these examples do not make sense, they are only for demonstrating the visual output of the printer). Simple DAG with single child node: ``` Limit #limit offset=0 limit=0 └── Filter #filter predicates=() └── SortMerge #merge column=<nil> order=UNDEFINED ├── DataObjScan #scan1 location= stream_ids=() projections=() predicates=() direction=0 limit=0 └── DataObjScan #scan2 location= stream_ids=() projections=() predicates=() direction=0 limit=0 ``` DAG with multple root nodes: ``` Limit #limit1 offset=0 limit=0 └── DataObjScan #scan1 location= stream_ids=() projections=() predicates=() direction=0 limit=0 Limit #limit2 offset=0 limit=0 └── DataObjScan #scan2 location= stream_ids=() projections=() predicates=() direction=0 limit=0 ``` DAG with parent node that share the same child node: ``` Limit #limit offset=0 limit=0 ├── Limit #filter1 offset=0 limit=0 │ └── DataObjScan #scan location= stream_ids=() projections=() predicates=() direction=0 limit=0 └── Limit #filter2 offset=0 limit=0 └── DataObjScan #scan location= stream_ids=() projections=() predicates=() direction=0 limit=0 ``` --- Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
2 months ago
- Error return value of `.*WriteString` is not checked
exclude-rules:
- path: pkg/scheduler/scheduler.go
text: 'SA1019: msg.GetHttpRequest is deprecated: Do not use'
- path: '(.+)_test\.go'
linters:
- goconst
fix: true
# which dirs to skip: they won't be analyzed;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but next dirs are always skipped independently
# from this option's value:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
exclude-dirs:
- win_eventlog$
- operator
# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
# no need to include all autogenerated files, we confidently recognize
# autogenerated files. If it's not please let us know.
exclude-files:
- .*.pb.go
- .*.y.go
- .*.rl.go
- .*.deepcopy.go