UNCLASSIFIED
Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Ironbank Containers
fluxcd
source-controller
Commits
e49c9b1c
Commit
e49c9b1c
authored
Aug 06, 2021
by
Al Fontaine
Browse files
Merge branch 'development' into 'master'
master: bump v0.15.4 See merge request
!84
parents
1b545e9a
f5f96fce
Pipeline
#416382
passed with stages
in 20 minutes and 7 seconds
Changes
184
Pipelines
9
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
670 additions
and
8 deletions
+670
-8
vendor/github.com/prometheus/client_golang/prometheus/collectors/dbstats_collector_pre_go115.go
...lang/prometheus/collectors/dbstats_collector_pre_go115.go
+26
-0
vendor/github.com/prometheus/client_golang/prometheus/collectors/expvar_collector.go
...s/client_golang/prometheus/collectors/expvar_collector.go
+57
-0
vendor/github.com/prometheus/client_golang/prometheus/collectors/go_collector.go
...theus/client_golang/prometheus/collectors/go_collector.go
+69
-0
vendor/github.com/prometheus/client_golang/prometheus/collectors/process_collector.go
.../client_golang/prometheus/collectors/process_collector.go
+56
-0
vendor/go.uber.org/zap/CHANGELOG.md
vendor/go.uber.org/zap/CHANGELOG.md
+32
-0
vendor/go.uber.org/zap/buffer/buffer.go
vendor/go.uber.org/zap/buffer/buffer.go
+18
-0
vendor/go.uber.org/zap/go.mod
vendor/go.uber.org/zap/go.mod
+2
-0
vendor/go.uber.org/zap/go.sum
vendor/go.uber.org/zap/go.sum
+33
-1
vendor/go.uber.org/zap/logger.go
vendor/go.uber.org/zap/logger.go
+6
-3
vendor/go.uber.org/zap/options.go
vendor/go.uber.org/zap/options.go
+8
-0
vendor/go.uber.org/zap/sugar.go
vendor/go.uber.org/zap/sugar.go
+2
-2
vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go
vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go
+188
-0
vendor/go.uber.org/zap/zapcore/clock.go
vendor/go.uber.org/zap/zapcore/clock.go
+50
-0
vendor/go.uber.org/zap/zapcore/entry.go
vendor/go.uber.org/zap/zapcore/entry.go
+2
-2
vendor/golang.org/x/sys/unix/mkerrors.sh
vendor/golang.org/x/sys/unix/mkerrors.sh
+5
-0
vendor/golang.org/x/sys/unix/syscall_darwin.go
vendor/golang.org/x/sys/unix/syscall_darwin.go
+33
-0
vendor/golang.org/x/sys/unix/syscall_linux.go
vendor/golang.org/x/sys/unix/syscall_linux.go
+71
-0
vendor/golang.org/x/sys/unix/syscall_linux_386.go
vendor/golang.org/x/sys/unix/syscall_linux_386.go
+4
-0
vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+4
-0
vendor/golang.org/x/sys/unix/syscall_linux_arm.go
vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+4
-0
No files found.
vendor/github.com/prometheus/client_golang/prometheus/collectors/dbstats_collector_pre_go115.go
0 → 100644
View file @
e49c9b1c
// Copyright 2021 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// +build !go1.15
package
collectors
import
(
"database/sql"
"github.com/prometheus/client_golang/prometheus"
)
func
(
c
*
dbStatsCollector
)
describeNewInGo115
(
ch
chan
<-
*
prometheus
.
Desc
)
{}
func
(
c
*
dbStatsCollector
)
collectNewInGo115
(
ch
chan
<-
prometheus
.
Metric
,
stats
sql
.
DBStats
)
{}
vendor/github.com/prometheus/client_golang/prometheus/collectors/expvar_collector.go
0 → 100644
View file @
e49c9b1c
// Copyright 2021 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
collectors
import
"github.com/prometheus/client_golang/prometheus"
// NewExpvarCollector returns a newly allocated expvar Collector.
//
// An expvar Collector collects metrics from the expvar interface. It provides a
// quick way to expose numeric values that are already exported via expvar as
// Prometheus metrics. Note that the data models of expvar and Prometheus are
// fundamentally different, and that the expvar Collector is inherently slower
// than native Prometheus metrics. Thus, the expvar Collector is probably great
// for experiments and prototying, but you should seriously consider a more
// direct implementation of Prometheus metrics for monitoring production
// systems.
//
// The exports map has the following meaning:
//
// The keys in the map correspond to expvar keys, i.e. for every expvar key you
// want to export as Prometheus metric, you need an entry in the exports
// map. The descriptor mapped to each key describes how to export the expvar
// value. It defines the name and the help string of the Prometheus metric
// proxying the expvar value. The type will always be Untyped.
//
// For descriptors without variable labels, the expvar value must be a number or
// a bool. The number is then directly exported as the Prometheus sample
// value. (For a bool, 'false' translates to 0 and 'true' to 1). Expvar values
// that are not numbers or bools are silently ignored.
//
// If the descriptor has one variable label, the expvar value must be an expvar
// map. The keys in the expvar map become the various values of the one
// Prometheus label. The values in the expvar map must be numbers or bools again
// as above.
//
// For descriptors with more than one variable label, the expvar must be a
// nested expvar map, i.e. where the values of the topmost map are maps again
// etc. until a depth is reached that corresponds to the number of labels. The
// leaves of that structure must be numbers or bools as above to serve as the
// sample values.
//
// Anything that does not fit into the scheme above is silently ignored.
func
NewExpvarCollector
(
exports
map
[
string
]
*
prometheus
.
Desc
)
prometheus
.
Collector
{
//nolint:staticcheck // Ignore SA1019 until v2.
return
prometheus
.
NewExpvarCollector
(
exports
)
}
vendor/github.com/prometheus/client_golang/prometheus/collectors/go_collector.go
0 → 100644
View file @
e49c9b1c
// Copyright 2021 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
collectors
import
"github.com/prometheus/client_golang/prometheus"
// NewGoCollector returns a collector that exports metrics about the current Go
// process. This includes memory stats. To collect those, runtime.ReadMemStats
// is called. This requires to “stop the world”, which usually only happens for
// garbage collection (GC). Take the following implications into account when
// deciding whether to use the Go collector:
//
// 1. The performance impact of stopping the world is the more relevant the more
// frequently metrics are collected. However, with Go1.9 or later the
// stop-the-world time per metrics collection is very short (~25µs) so that the
// performance impact will only matter in rare cases. However, with older Go
// versions, the stop-the-world duration depends on the heap size and can be
// quite significant (~1.7 ms/GiB as per
// https://go-review.googlesource.com/c/go/+/34937).
//
// 2. During an ongoing GC, nothing else can stop the world. Therefore, if the
// metrics collection happens to coincide with GC, it will only complete after
// GC has finished. Usually, GC is fast enough to not cause problems. However,
// with a very large heap, GC might take multiple seconds, which is enough to
// cause scrape timeouts in common setups. To avoid this problem, the Go
// collector will use the memstats from a previous collection if
// runtime.ReadMemStats takes more than 1s. However, if there are no previously
// collected memstats, or their collection is more than 5m ago, the collection
// will block until runtime.ReadMemStats succeeds.
//
// NOTE: The problem is solved in Go 1.15, see
// https://github.com/golang/go/issues/19812 for the related Go issue.
func
NewGoCollector
()
prometheus
.
Collector
{
//nolint:staticcheck // Ignore SA1019 until v2.
return
prometheus
.
NewGoCollector
()
}
// NewBuildInfoCollector returns a collector collecting a single metric
// "go_build_info" with the constant value 1 and three labels "path", "version",
// and "checksum". Their label values contain the main module path, version, and
// checksum, respectively. The labels will only have meaningful values if the
// binary is built with Go module support and from source code retrieved from
// the source repository (rather than the local file system). This is usually
// accomplished by building from outside of GOPATH, specifying the full address
// of the main package, e.g. "GO111MODULE=on go run
// github.com/prometheus/client_golang/examples/random". If built without Go
// module support, all label values will be "unknown". If built with Go module
// support but using the source code from the local file system, the "path" will
// be set appropriately, but "checksum" will be empty and "version" will be
// "(devel)".
//
// This collector uses only the build information for the main module. See
// https://github.com/povilasv/prommod for an example of a collector for the
// module dependencies.
func
NewBuildInfoCollector
()
prometheus
.
Collector
{
//nolint:staticcheck // Ignore SA1019 until v2.
return
prometheus
.
NewBuildInfoCollector
()
}
vendor/github.com/prometheus/client_golang/prometheus/collectors/process_collector.go
0 → 100644
View file @
e49c9b1c
// Copyright 2021 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
collectors
import
"github.com/prometheus/client_golang/prometheus"
// ProcessCollectorOpts defines the behavior of a process metrics collector
// created with NewProcessCollector.
type
ProcessCollectorOpts
struct
{
// PidFn returns the PID of the process the collector collects metrics
// for. It is called upon each collection. By default, the PID of the
// current process is used, as determined on construction time by
// calling os.Getpid().
PidFn
func
()
(
int
,
error
)
// If non-empty, each of the collected metrics is prefixed by the
// provided string and an underscore ("_").
Namespace
string
// If true, any error encountered during collection is reported as an
// invalid metric (see NewInvalidMetric). Otherwise, errors are ignored
// and the collected metrics will be incomplete. (Possibly, no metrics
// will be collected at all.) While that's usually not desired, it is
// appropriate for the common "mix-in" of process metrics, where process
// metrics are nice to have, but failing to collect them should not
// disrupt the collection of the remaining metrics.
ReportErrors
bool
}
// NewProcessCollector returns a collector which exports the current state of
// process metrics including CPU, memory and file descriptor usage as well as
// the process start time. The detailed behavior is defined by the provided
// ProcessCollectorOpts. The zero value of ProcessCollectorOpts creates a
// collector for the current process with an empty namespace string and no error
// reporting.
//
// The collector only works on operating systems with a Linux-style proc
// filesystem and on Microsoft Windows. On other operating systems, it will not
// collect any metrics.
func
NewProcessCollector
(
opts
ProcessCollectorOpts
)
prometheus
.
Collector
{
//nolint:staticcheck // Ignore SA1019 until v2.
return
prometheus
.
NewProcessCollector
(
prometheus
.
ProcessCollectorOpts
{
PidFn
:
opts
.
PidFn
,
Namespace
:
opts
.
Namespace
,
ReportErrors
:
opts
.
ReportErrors
,
})
}
vendor/go.uber.org/zap/CHANGELOG.md
View file @
e49c9b1c
# Changelog
## 1.18.1 (28 Jun 2021)
Bugfixes:
*
[
#974
][]
: Fix nil dereference in logger constructed by
`zap.NewNop`
.
[
#974
]:
https://github.com/uber-go/zap/pull/974
## 1.18.0 (28 Jun 2021)
Enhancements:
*
[
#961
][]
: Add
`zapcore.BufferedWriteSyncer`
, a new
`WriteSyncer`
that buffers
messages in-memory and flushes them periodically.
*
[
#971
][]
: Add
`zapio.Writer`
to use a Zap logger as an
`io.Writer`
.
*
[
#897
][]
: Add
`zap.WithClock`
option to control the source of time via the
new
`zapcore.Clock`
interface.
*
[
#949
][]
: Avoid panicking in
`zap.SugaredLogger`
when arguments of
`*w`
methods don't match expectations.
*
[
#943
][]
: Add support for filtering by level or arbitrary matcher function to
`zaptest/observer`
.
*
[
#691
][]
: Comply with
`io.StringWriter`
and
`io.ByteWriter`
in Zap's
`buffer.Buffer`
.
Thanks to @atrn0, @ernado, @heyanfu, @hnlq715, @zchee
for their contributions to this release.
[
#691
]:
https://github.com/uber-go/zap/pull/691
[
#897
]:
https://github.com/uber-go/zap/pull/897
[
#943
]:
https://github.com/uber-go/zap/pull/943
[
#949
]:
https://github.com/uber-go/zap/pull/949
[
#961
]:
https://github.com/uber-go/zap/pull/961
[
#971
]:
https://github.com/uber-go/zap/pull/971
## 1.17.0 (25 May 2021)
Bugfixes:
...
...
vendor/go.uber.org/zap/buffer/buffer.go
View file @
e49c9b1c
...
...
@@ -106,6 +106,24 @@ func (b *Buffer) Write(bs []byte) (int, error) {
return
len
(
bs
),
nil
}
// WriteByte writes a single byte to the Buffer.
//
// Error returned is always nil, function signature is compatible
// with bytes.Buffer and bufio.Writer
func
(
b
*
Buffer
)
WriteByte
(
v
byte
)
error
{
b
.
AppendByte
(
v
)
return
nil
}
// WriteString writes a string to the Buffer.
//
// Error returned is always nil, function signature is compatible
// with bytes.Buffer and bufio.Writer
func
(
b
*
Buffer
)
WriteString
(
s
string
)
(
int
,
error
)
{
b
.
AppendString
(
s
)
return
len
(
s
),
nil
}
// TrimNewline trims any final "\n" byte from the end of the buffer.
func
(
b
*
Buffer
)
TrimNewline
()
{
if
i
:=
len
(
b
.
bs
)
-
1
;
i
>=
0
{
...
...
vendor/go.uber.org/zap/go.mod
View file @
e49c9b1c
...
...
@@ -3,9 +3,11 @@ module go.uber.org/zap
go 1.13
require (
github.com/benbjohnson/clock v1.1.0
github.com/pkg/errors v0.8.1
github.com/stretchr/testify v1.7.0
go.uber.org/atomic v1.7.0
go.uber.org/goleak v1.1.10
go.uber.org/multierr v1.6.0
gopkg.in/yaml.v2 v2.2.8
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
...
...
vendor/go.uber.org/zap/go.sum
View file @
e49c9b1c
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11 h1:Yq9t9jnGoR+dBuitxdo9l6Q7xh/zOyNnYUtDKaQ3x0E=
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
...
...
vendor/go.uber.org/zap/logger.go
View file @
e49c9b1c
...
...
@@ -26,7 +26,6 @@ import (
"os"
"runtime"
"strings"
"time"
"go.uber.org/zap/zapcore"
)
...
...
@@ -51,6 +50,8 @@ type Logger struct {
addStack
zapcore
.
LevelEnabler
callerSkip
int
clock
zapcore
.
Clock
}
// New constructs a new Logger from the provided zapcore.Core and Options. If
...
...
@@ -71,6 +72,7 @@ func New(core zapcore.Core, options ...Option) *Logger {
core
:
core
,
errorOutput
:
zapcore
.
Lock
(
os
.
Stderr
),
addStack
:
zapcore
.
FatalLevel
+
1
,
clock
:
zapcore
.
DefaultClock
,
}
return
log
.
WithOptions
(
options
...
)
}
...
...
@@ -85,6 +87,7 @@ func NewNop() *Logger {
core
:
zapcore
.
NewNopCore
(),
errorOutput
:
zapcore
.
AddSync
(
ioutil
.
Discard
),
addStack
:
zapcore
.
FatalLevel
+
1
,
clock
:
zapcore
.
DefaultClock
,
}
}
...
...
@@ -270,7 +273,7 @@ func (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {
// log message will actually be written somewhere.
ent
:=
zapcore
.
Entry
{
LoggerName
:
log
.
name
,
Time
:
time
.
Now
(),
Time
:
log
.
clock
.
Now
(),
Level
:
lvl
,
Message
:
msg
,
}
...
...
@@ -307,7 +310,7 @@ func (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {
if
log
.
addCaller
{
frame
,
defined
:=
getCallerFrame
(
log
.
callerSkip
+
callerSkipOffset
)
if
!
defined
{
fmt
.
Fprintf
(
log
.
errorOutput
,
"%v Logger.check error: failed to get caller
\n
"
,
time
.
Now
()
.
UTC
())
fmt
.
Fprintf
(
log
.
errorOutput
,
"%v Logger.check error: failed to get caller
\n
"
,
ent
.
Time
.
UTC
())
log
.
errorOutput
.
Sync
()
}
...
...
vendor/go.uber.org/zap/options.go
View file @
e49c9b1c
...
...
@@ -138,3 +138,11 @@ func OnFatal(action zapcore.CheckWriteAction) Option {
log
.
onFatal
=
action
})
}
// WithClock specifies the clock used by the logger to determine the current
// time for logged entries. Defaults to the system clock with time.Now.
func
WithClock
(
clock
zapcore
.
Clock
)
Option
{
return
optionFunc
(
func
(
log
*
Logger
)
{
log
.
clock
=
clock
})
}
vendor/go.uber.org/zap/sugar.go
View file @
e49c9b1c
...
...
@@ -266,7 +266,7 @@ func (s *SugaredLogger) sweetenFields(args []interface{}) []Field {
// Make sure this element isn't a dangling key.
if
i
==
len
(
args
)
-
1
{
s
.
base
.
DPanic
(
_oddNumberErrMsg
,
Any
(
"ignored"
,
args
[
i
]))
s
.
base
.
Error
(
_oddNumberErrMsg
,
Any
(
"ignored"
,
args
[
i
]))
break
}
...
...
@@ -287,7 +287,7 @@ func (s *SugaredLogger) sweetenFields(args []interface{}) []Field {
// If we encountered any invalid key-value pairs, log an error.
if
len
(
invalid
)
>
0
{
s
.
base
.
DPanic
(
_nonStringKeyErrMsg
,
Array
(
"invalid"
,
invalid
))
s
.
base
.
Error
(
_nonStringKeyErrMsg
,
Array
(
"invalid"
,
invalid
))
}
return
fields
}
...
...
vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go
0 → 100644
View file @
e49c9b1c
// Copyright (c) 2021 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
package
zapcore
import
(
"bufio"
"sync"
"time"
"go.uber.org/multierr"
)
const
(
// _defaultBufferSize specifies the default size used by Buffer.
_defaultBufferSize
=
256
*
1024
// 256 kB
// _defaultFlushInterval specifies the default flush interval for
// Buffer.
_defaultFlushInterval
=
30
*
time
.
Second
)
// A BufferedWriteSyncer is a WriteSyncer that buffers writes in-memory before
// flushing them to a wrapped WriteSyncer after reaching some limit, or at some
// fixed interval--whichever comes first.
//
// BufferedWriteSyncer is safe for concurrent use. You don't need to use
// zapcore.Lock for WriteSyncers with BufferedWriteSyncer.
type
BufferedWriteSyncer
struct
{
// WS is the WriteSyncer around which BufferedWriteSyncer will buffer
// writes.
//
// This field is required.
WS
WriteSyncer
// Size specifies the maximum amount of data the writer will buffered
// before flushing.
//
// Defaults to 256 kB if unspecified.
Size
int
// FlushInterval specifies how often the writer should flush data if
// there have been no writes.
//
// Defaults to 30 seconds if unspecified.
FlushInterval
time
.
Duration
// Clock, if specified, provides control of the source of time for the
// writer.
//
// Defaults to the system clock.
Clock
Clock
// unexported fields for state
mu
sync
.
Mutex
initialized
bool
// whether initialize() has run
writer
*
bufio
.
Writer
ticker
*
time
.
Ticker
stop
chan
struct
{}
// closed when flushLoop should stop
stopped
bool
// whether Stop() has run
done
chan
struct
{}
// closed when flushLoop has stopped
}
func
(
s
*
BufferedWriteSyncer
)
initialize
()
{
size
:=
s
.
Size
if
size
==
0
{
size
=
_defaultBufferSize
}
flushInterval
:=
s
.
FlushInterval
if
flushInterval
==
0
{
flushInterval
=
_defaultFlushInterval
}
if
s
.
Clock
==
nil
{
s
.
Clock
=
DefaultClock
}
s
.
ticker
=
s
.
Clock
.
NewTicker
(
flushInterval
)
s
.
writer
=
bufio
.
NewWriterSize
(
s
.
WS
,
size
)
s
.
stop
=
make
(
chan
struct
{})
s
.
done
=
make
(
chan
struct
{})
s
.
initialized
=
true
go
s
.
flushLoop
()
}
// Write writes log data into buffer syncer directly, multiple Write calls will be batched,
// and log data will be flushed to disk when the buffer is full or periodically.
func
(
s
*
BufferedWriteSyncer
)
Write
(
bs
[]
byte
)
(
int
,
error
)
{
s
.
mu
.
Lock
()
defer
s
.
mu
.
Unlock
()
if
!
s
.
initialized
{
s
.
initialize
()
}
// To avoid partial writes from being flushed, we manually flush the existing buffer if:
// * The current write doesn't fit into the buffer fully, and
// * The buffer is not empty (since bufio will not split large writes when the buffer is empty)
if
len
(
bs
)
>
s
.
writer
.
Available
()
&&
s
.
writer
.
Buffered
()
>
0
{
if
err
:=
s
.
writer
.
Flush
();
err
!=
nil
{
return
0
,
err
}
}
return
s
.
writer
.
Write
(
bs
)
}
// Sync flushes buffered log data into disk directly.
func
(
s
*
BufferedWriteSyncer
)
Sync
()
error
{
s
.
mu
.
Lock
()
defer
s
.
mu
.
Unlock
()
var
err
error
if
s
.
initialized
{
err
=
s
.
writer
.
Flush
()
}
return
multierr
.
Append
(
err
,
s
.
WS
.
Sync
())
}
// flushLoop flushes the buffer at the configured interval until Stop is
// called.
func
(
s
*
BufferedWriteSyncer
)
flushLoop
()
{
defer
close
(
s
.
done
)
for
{
select
{
case
<-
s
.
ticker
.
C
:
// we just simply ignore error here
// because the underlying bufio writer stores any errors
// and we return any error from Sync() as part of the close
_
=
s
.
Sync
()
case
<-
s
.
stop
:
return
}
}
}
// Stop closes the buffer, cleans up background goroutines, and flushes
// remaining unwritten data.
func
(
s
*
BufferedWriteSyncer
)
Stop
()
(
err
error
)
{
var
stopped
bool
// Critical section.
func
()
{
s
.
mu
.
Lock
()
defer
s
.
mu
.
Unlock
()
if
!
s
.
initialized
{
return
}
stopped
=
s
.
stopped
if
stopped
{
return
}
s
.
stopped
=
true
s
.
ticker
.
Stop
()
close
(
s
.
stop
)
// tell flushLoop to stop
<-
s
.
done
// and wait until it has
}()
// Don't call Sync on consecutive Stops.
if
!
stopped
{
err
=
s
.
Sync
()
}
return
err
}
vendor/go.uber.org/zap/zapcore/clock.go
0 → 100644
View file @
e49c9b1c
// Copyright (c) 2021 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
package
zapcore
import
(
"time"
)
// DefaultClock is the default clock used by Zap in operations that require
// time. This clock uses the system clock for all operations.
var
DefaultClock
=
systemClock
{}
// Clock is a source of time for logged entries.
type
Clock
interface
{
// Now returns the current local time.
Now
()
time
.
Time
// NewTicker returns *time.Ticker that holds a channel
// that delivers "ticks" of a clock.
NewTicker
(
time
.
Duration
)
*
time
.
Ticker
}
// systemClock implements default Clock that uses system time.
type
systemClock
struct
{}
func
(
systemClock
)
Now
()
time
.
Time
{
return
time
.
Now
()
}
func
(
systemClock
)
NewTicker
(
duration
time
.
Duration
)
*
time
.
Ticker
{
return
time
.
NewTicker
(
duration
)
}
vendor/go.uber.org/zap/zapcore/entry.go
View file @
e49c9b1c
...
...
@@ -208,7 +208,7 @@ func (ce *CheckedEntry) Write(fields ...Field) {
// If the entry is dirty, log an internal error; because the
// CheckedEntry is being used after it was returned to the pool,
// the message may be an amalgamation from multiple call sites.
fmt
.
Fprintf
(
ce
.
ErrorOutput
,
"%v Unsafe CheckedEntry re-use near Entry %+v.
\n
"
,
time
.
Now
()
,
ce
.
Entry
)
fmt
.
Fprintf
(
ce
.
ErrorOutput
,
"%v Unsafe CheckedEntry re-use near Entry %+v.
\n
"
,
ce
.
Time
,
ce
.
Entry
)
ce
.
ErrorOutput
.
Sync
()
}
return
...
...
@@ -221,7 +221,7 @@ func (ce *CheckedEntry) Write(fields ...Field) {
}
if
ce
.
ErrorOutput
!=
nil
{
if
err
!=
nil
{
fmt
.
Fprintf
(
ce
.
ErrorOutput
,
"%v write error: %v
\n
"
,
time
.
Now
()
,
err
)
fmt
.
Fprintf
(
ce
.
ErrorOutput
,
"%v write error: %v
\n
"
,
ce
.
Time
,
err
)
ce
.
ErrorOutput
.
Sync
()
}
}
...
...
vendor/golang.org/x/sys/unix/mkerrors.sh
View file @
e49c9b1c
...
...
@@ -239,6 +239,7 @@ struct ltchars {
#include <linux/netfilter/nfnetlink.h>
#include <linux/netlink.h>
#include <linux/net_namespace.h>
#include <linux/nfc.h>
#include <linux/nsfs.h>
#include <linux/perf_event.h>
#include <linux/pps.h>
...
...
@@ -502,6 +503,9 @@ ccflags="$@"
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
$2 ~ /^RAW_PAYLOAD_/ ||
$2 ~ /^TP_STATUS_/ ||
$2 ~ /^FALLOC_/ ||
$2 ~ /^ICMPV?6?_(FILTER|SEC)/ ||
...
...
@@ -559,6 +563,7 @@ ccflags="$@"
$2 ~ /^KEYCTL_/ ||
$2 ~ /^PERF_/ ||
$2 ~ /^SECCOMP_MODE_/ ||
$2 ~ /^SEEK_/ ||
$2 ~ /^SPLICE_/ ||
$2 ~ /^SYNC_FILE_RANGE_/ ||
$2 !~ /^AUDIT_RECORD_MAGIC/ &&
...
...
vendor/golang.org/x/sys/unix/syscall_darwin.go
View file @
e49c9b1c
...
...
@@ -13,6 +13,7 @@
package
unix
import
(
"fmt"
"runtime"
"syscall"
"unsafe"
...
...
@@ -398,6 +399,38 @@ func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
return
x
,
err
}
func
SysctlKinfoProcSlice
(
name
string
)
([]
KinfoProc
,
error
)
{
mib
,
err
:=
sysctlmib
(
name
)
if
err
!=
nil
{
return
nil
,
err
}
// Find size.
n
:=
uintptr
(
0
)
if
err
:=
sysctl
(
mib
,
nil
,
&
n
,
nil
,
0
);
err
!=
nil
{
return
nil
,
err
}
if
n
==
0
{
return
nil
,
nil
}
if
n
%
SizeofKinfoProc
!=
0
{
return
nil
,
fmt
.
Errorf
(
"sysctl() returned a size of %d, which is not a multiple of %d"
,
n
,
SizeofKinfoProc
)
}
// Read into buffer of that size.
buf
:=
make
([]
KinfoProc
,
n
/
SizeofKinfoProc
)
if
err
:=
sysctl
(
mib
,
(
*
byte
)(
unsafe
.
Pointer
(
&
buf
[
0
])),
&
n
,
nil
,
0
);
err
!=
nil
{
return
nil
,
err
}
if
n
%
SizeofKinfoProc
!=
0
{
return
nil
,
fmt
.
Errorf
(
"sysctl() returned a size of %d, which is not a multiple of %d"
,
n
,
SizeofKinfoProc
)
}
// The actual call may return less than the original reported required
// size so ensure we deal with that.
return
buf
[
:
n
/
SizeofKinfoProc
],
nil
}
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
/*
...
...
vendor/golang.org/x/sys/unix/syscall_linux.go
View file @
e49c9b1c
...
...
@@ -904,6 +904,46 @@ func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) {
return
unsafe
.
Pointer
(
&
sa
.
raw
),
SizeofSockaddrIUCV
,
nil
}
type
SockaddrNFC
struct
{
DeviceIdx
uint32
TargetIdx
uint32
NFCProtocol
uint32
raw
RawSockaddrNFC
}
func
(
sa
*
SockaddrNFC
)
sockaddr
()
(
unsafe
.
Pointer
,
_Socklen
,
error
)
{
sa
.
raw
.
Sa_family
=
AF_NFC
sa
.
raw
.
Dev_idx
=
sa
.
DeviceIdx
sa
.
raw
.
Target_idx
=
sa
.
TargetIdx
sa
.
raw
.
Nfc_protocol
=
sa
.
NFCProtocol
return
unsafe
.
Pointer
(
&
sa
.
raw
),
SizeofSockaddrNFC
,
nil
}
type
SockaddrNFCLLCP
struct
{
DeviceIdx
uint32
TargetIdx
uint32
NFCProtocol
uint32
DestinationSAP
uint8
SourceSAP
uint8
ServiceName
string
raw
RawSockaddrNFCLLCP
}
func
(
sa
*
SockaddrNFCLLCP
)
sockaddr
()
(
unsafe
.
Pointer
,
_Socklen
,
error
)
{
sa
.
raw
.
Sa_family
=
AF_NFC
sa
.
raw
.
Dev_idx
=
sa
.
DeviceIdx
sa
.
raw
.
Target_idx
=
sa
.
TargetIdx
sa
.
raw
.
Nfc_protocol
=
sa
.
NFCProtocol
sa
.
raw
.
Dsap
=
sa
.
DestinationSAP
sa
.
raw
.
Ssap
=
sa
.
SourceSAP
if
len
(
sa
.
ServiceName
)
>
len
(
sa
.
raw
.
Service_name
)
{
return
nil
,
0
,
EINVAL
}
copy
(
sa
.
raw
.
Service_name
[
:
],
sa
.
ServiceName
)
sa
.
raw
.
SetServiceNameLen
(
len
(
sa
.
ServiceName
))
return
unsafe
.
Pointer
(
&
sa
.
raw
),
SizeofSockaddrNFCLLCP
,
nil
}
var
socketProtocol
=
func
(
fd
int
)
(
int
,
error
)
{
return
GetsockoptInt
(
fd
,
SOL_SOCKET
,
SO_PROTOCOL
)
}
...
...
@@ -1144,6 +1184,37 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
}
return
sa
,
nil
}
case
AF_NFC
:
proto
,
err
:=
socketProtocol
(
fd
)
if
err
!=
nil
{
return
nil
,
err
}
switch
proto
{
case
NFC_SOCKPROTO_RAW
:
pp
:=
(
*
RawSockaddrNFC
)(
unsafe
.
Pointer
(
rsa
))
sa
:=
&
SockaddrNFC
{
DeviceIdx
:
pp
.
Dev_idx
,
TargetIdx
:
pp
.
Target_idx
,
NFCProtocol
:
pp
.
Nfc_protocol
,
}
return
sa
,
nil
case
NFC_SOCKPROTO_LLCP
:
pp
:=
(
*
RawSockaddrNFCLLCP
)(
unsafe
.
Pointer
(
rsa
))
if
uint64
(
pp
.
Service_name_len
)
>
uint64
(
len
(
pp
.
Service_name
))
{
return
nil
,
EINVAL
}
sa
:=
&
SockaddrNFCLLCP
{
DeviceIdx
:
pp
.
Dev_idx
,
TargetIdx
:
pp
.
Target_idx
,
NFCProtocol
:
pp
.
Nfc_protocol
,
DestinationSAP
:
pp
.
Dsap
,
SourceSAP
:
pp
.
Ssap
,
ServiceName
:
string
(
pp
.
Service_name
[
:
pp
.
Service_name_len
]),
}
return
sa
,
nil
default
:
return
nil
,
EINVAL
}
}
return
nil
,
EAFNOSUPPORT
}
...
...
vendor/golang.org/x/sys/unix/syscall_linux_386.go
View file @
e49c9b1c
...
...
@@ -378,6 +378,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg
.
Len
=
uint32
(
length
)
}
func
(
rsa
*
RawSockaddrNFCLLCP
)
SetServiceNameLen
(
length
int
)
{
rsa
.
Service_name_len
=
uint32
(
length
)
}
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
func
Poll
(
fds
[]
PollFd
,
timeout
int
)
(
n
int
,
err
error
)
{
...
...
vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
View file @
e49c9b1c
...
...
@@ -172,6 +172,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg
.
Len
=
uint64
(
length
)
}
func
(
rsa
*
RawSockaddrNFCLLCP
)
SetServiceNameLen
(
length
int
)
{
rsa
.
Service_name_len
=
uint64
(
length
)
}
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
func
Poll
(
fds
[]
PollFd
,
timeout
int
)
(
n
int
,
err
error
)
{
...
...
vendor/golang.org/x/sys/unix/syscall_linux_arm.go
View file @
e49c9b1c
...
...
@@ -256,6 +256,10 @@ func (cmsg *Cmsghdr) SetLen(length int) {
cmsg
.
Len
=
uint32
(
length
)
}
func
(
rsa
*
RawSockaddrNFCLLCP
)
SetServiceNameLen
(
length
int
)
{
rsa
.
Service_name_len
=
uint32
(
length
)
}
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
func
Poll
(
fds
[]
PollFd
,
timeout
int
)
(
n
int
,
err
error
)
{
...
...
Prev
1
2
3
4
5
6
…
10
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment