opendiffy / diffy

Other
1.25k stars 142 forks source link

Not able to run the example #74

Closed bcreaney closed 1 year ago

bcreaney commented 1 year ago

Hello. I'm following Quickstart guide to run the provided example, but once I start sending traffic I get the following errors:

[otel.javaagent 2022-10-28 12:38:27:067 -0700] [ForkJoinPool.commonPool-worker-11] WARN io.opentelemetry.ApiUsageLogging - Instrument name "diffy.raw.json.result.headers.Date.PrimitiveDifference.differences" is invalid, returning noop instrument. Instrument names must consist of 63 or fewer characters including alphanumeric, _, ., -, and start with a letter. Returning noop instrument.

and

[otel.javaagent 2022-10-28 12:38:35:718 -0700] [OkHttp http://localhost:4317/...] ERROR io.opentelemetry.exporter.internal.grpc.OkHttpGrpcExporter - Failed to export spans. The request could not be executed. Full error message: Failed to connect to localhost/[0:0:0:0:0:0:0:1]:4317

Nothing is displayed when I access http://localhost:8888/ The same happens with the advanced example using Docker.

Any idea why this could be happening? Thank you

puneetkhanduri commented 1 year ago

Please try running the example with the latest master. You should no longer see the errors. You should see something like this after sending traffic:

diffy-ui

That said, the errors you were seeing were benign and should not have caused any issues with the above example. If the issue still persists on your end please run the following commands and share the results you see: curl http://localhost:8888/api/1/endpoints?exclude_noise=false

bcreaney commented 1 year ago

Thank you @puneetkhanduri.

Once I hit http://localhost:8888/ using docker I'm not able to see any results, but I am able to see metrics/traces with Grafana/Jaeger/Prometheus. This issue only happens when running the example with docker.

puneetkhanduri commented 1 year ago

Can you share your docker logs along with the response of the above curl command.

bcreaney commented 1 year ago

The curl command outputs: {"GET:regression":{"total":1,"differences":1},"GET:noise":{"total":1,"differences":1},"GET:success":{"total":1,"differences":0},"GET:noisy_regression":{"total":1,"differences":1}}

As for the logs, found the following errors: tempo_1 | level=error ts=2022-10-31T20:23:37.4256945Z caller=frontend_processor.go:59 msg="error processing requests" address=127.0.0.1:9095 err="rpc error: code = Unavailable desc = transport is closing"

tempo-query_1 | {"level":"error","ts":1667248033.7239718,"caller":"zap/logger.go:33","msg":"failed to flush Jaeger spans to server: write udp 127.0.0.1:47164->127.0.0.1:6831: write: connection refused","stacktrace":"github.com/uber/jaeger-client-go/log/zap.(*Logger).Error\n\tgithub.com/uber/jaeger-client-go@v2.23.1+incompatible/log/zap/logger.go:33\ngithub.com/uber/jaeger-client-go.(*remoteReporter).processQueue.func1\n\tgithub.com/uber/jaeger-client-go@v2.23.1+incompatible/reporter.go:288\ngithub.com/uber/jaeger-client-go.(*remoteReporter).processQueue\n\tgithub.com/uber/jaeger-client-go@v2.23.1+incompatible/reporter.go:298"}

diffy_1        | [otel.javaagent 2022-10-31 20:21:19:706 +0000] [ForkJoinPool.commonPool-worker-3] WARN io.opentelemetry.ApiUsageLogging - Instrument name "diffy.noise.GET:noisy_regression.result.200 OK.value.hash.PrimitiveDifference.siblings" is invalid, returning noop instrument. Instrument names must consist of 63 or fewer characters including alphanumeric, _, ., -, and start with a letter.
diffy_1        | java.lang.AssertionError
puneetkhanduri commented 1 year ago

The curl command output indicates that Diffy is able to connect to primary, secondary, and candidate and process requests correctly. Not sure why the UI is not able to show these results. Can you take a look at your browser's console and network logs to look for any exceptions there.

bcreaney commented 1 year ago

I'm not very familiar with frontend stuff but it seems to fail due to Failed to load resource: the server responded with a status of 404 ()index.16be6bea.js however I can locate the file.

puneetkhanduri commented 1 year ago

This will require live screen sharing to debug. Please reach out to isotope@sn126.com to setup a time.