census-ecosystem / opencensus-go-exporter-graphite Goto Github PK
View Code? Open in Web Editor NEWGraphite Exporter for OpenCensus Go
License: Apache License 2.0
Graphite Exporter for OpenCensus Go
License: Apache License 2.0
See: https://api.travis-ci.org/v3/job/414752965/log.txt
Listening on 127.0.0.1:2003
==================
WARNING: DATA RACE
Write at 0x0000009e9310 by goroutine 16:
contrib.go.opencensus.io/exporter/graphite.handleRequest()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:99 +0x3fc
Previous write at 0x0000009e9310 by goroutine 12:
contrib.go.opencensus.io/exporter/graphite.handleRequest()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:99 +0x3fc
Goroutine 16 (running) created at:
contrib.go.opencensus.io/exporter/graphite.startServer()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:78 +0x2ef
Goroutine 12 (finished) created at:
contrib.go.opencensus.io/exporter/graphite.startServer()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:78 +0x2ef
==================
==================
WARNING: DATA RACE
Write at 0x000000a07bc5 by goroutine 8:
contrib.go.opencensus.io/exporter/graphite.TestMetricsEndpointOutput()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:156 +0xecf
testing.tRunner()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:777 +0x16d
Previous read at 0x000000a07bc5 by goroutine 9:
contrib.go.opencensus.io/exporter/graphite.startServer()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:67 +0x2ff
Goroutine 8 (running) created at:
testing.(*T).Run()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:824 +0x564
testing.runTests.func1()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:1063 +0xa4
testing.tRunner()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:777 +0x16d
testing.runTests()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:1061 +0x4e1
testing.(*M).Run()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:978 +0x2cd
main.main()
_testmain.go:56 +0x22a
Goroutine 9 (running) created at:
contrib.go.opencensus.io/exporter/graphite.TestMetricsEndpointOutput()
/home/travis/gopath/src/contrib.go.opencensus.io/exporter/graphite/graphite_test.go:115 +0x319
testing.tRunner()
/home/travis/.gimme/versions/go1.10.3.linux.amd64/src/testing/testing.go:777 +0x16d
==================
--- FAIL: TestMetricsEndpointOutput (0.04s)
testing.go:730: race detected during execution of test
=== RUN TestMetricsTagsOutput
Error listening: listen tcp 127.0.0.1:2003: bind: address already in use
--- PASS: TestMetricsTagsOutput (0.05s)
2018/08/11 01:03:34 Failed to export to Graphite: Error creating graphite: &net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:(*net.TCPAddr)(0xc420199200), Err:(*os.SyscallError)(0xc4200eca00)}
2018/08/11 01:03:34 Failed to export to Graphite: Error creating graphite: &net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:(*net.TCPAddr)(0xc4201ccde0), Err:(*os.SyscallError)(0xc4200eca20)}
=== RUN TestMetricsPathOutput
Listening on 127.0.0.1:2003
--- PASS: TestMetricsPathOutput (0.01s)
=== RUN TestMetricsSumDataPathOutput
Error listening: listen tcp 127.0.0.1:2003: bind: address already in use
--- PASS: TestMetricsSumDataPathOutput (0.01s)
=== RUN TestMetricsLastValueDataPathOutput
Error listening: listen tcp 127.0.0.1:2003: bind: address already in use
--- FAIL: TestMetricsLastValueDataPathOutput (0.02s)
graphite_test.go:396: path not correct
=== RUN TestDistributionData
Error listening: listen tcp 127.0.0.1:2003: bind: address already in use
2018/08/11 01:03:34 Failed to export to Graphite: Error creating graphite: &net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:(*net.TCPAddr)(0xc4202c0bd0), Err:(*os.SyscallError)(0xc4200edaa0)}
2018/08/11 01:03:34 Failed to export to Graphite: Error creating graphite: &net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:(*net.TCPAddr)(0xc4202c0b10), Err:(*os.SyscallError)(0xc4200edae0)}
2018/08/11 01:03:34 Failed to export to Graphite: Error creating graphite: &net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:(*net.TCPAddr)(0xc4202c0ab0), Err:(*os.SyscallError)(0xc4200edb00)}
This issue was automatically created by Allstar.
Security Policy Violation
Security policy not enabled.
A SECURITY.md file can give users information about what constitutes a vulnerability and how to report one securely so that information about a bug is not publicly visible. Examples of secure reporting methods include using an issue tracker with private issue support, or encrypted email with a published key.
To fix this, add a SECURITY.md file that explains how to handle vulnerabilities found in your repository. Go to https://github.com/census-ecosystem/opencensus-go-exporter-graphite/security/policy to enable.
For more information, see https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository.
This issue will auto resolve when the policy is in compliance.
Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.
I just discovered this exporter, great work! I kindly would like to ask if it is possible for anyone working on it to add an example to the website https://github.com/census-instrumentation/opencensus-website
For example this is what the Prometheus exporter information looks like:
/cc @Ramonza
If y'all don't have much bandwidth, no worries, I can work on it :)
our app crash with following stack:
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: panic: runtime error: invalid memory address or nil pointer dereference
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x13101ca]
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: goroutine 8658185672 [running]:
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: contrib.go.opencensus.io/exporter/graphite.(*Exporter).sendBundle(0xc000460a00, 0xc15804d000, 0x4b, 0x80)
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: /tmp/buildd/myapp/src/vendor/contrib.go.opencensus.io/exporter/graphite/graphite.go:223 +0x2ba
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: contrib.go.opencensus.io/exporter/graphite.NewExporter.func1(0x141fc00, 0xc13f391f80)
Apr 13 18:57:52 13.bm-dante.prod.nym2 dante[111763]: /tmp/buildd/myapp/src/vendor/contrib.go.opencensus.io/exporter/graphite/graphite.go:99 +0x5a
looking at the code, I am getting an impression that there is a mistype in Exporter.sendBundle
one line in following code block should be changed:
err = g.SendMetric(metric)
if err != nil {
- e.opts.OnError(err)
+ e.opts.onError(err)
}
where e.opts.OnError
is a field in the struct, which happens to be nil in case of our application, while e.opts.onError
is a method:
func (o *Options) onError(err error) {
if o.OnError != nil {
o.OnError(err)
} else {
log.Printf("Failed to export to Graphite: %v", err)
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.