jmh-visualizer icon indicating copy to clipboard operation
jmh-visualizer copied to clipboard

Cannot use URL from openjdk code review server

Open mcimadamore opened this issue 1 year ago • 5 comments

I work on OpenJDK, and I'm trying to publish a JMH report using your great tool. I've uploaded my JMH json files here:

https://cr.openjdk.org/~mcimadamore/jdk/8331865/

Ideally, I'd like to pass the two URLs to the visualizer, so that I can then share the resulting page. But I'm not having luck with using such URLs. Using gist works (or uploading locally) - but I wonder if there's a reason as to why the URL function doesn't seem to work? (and, maybe also making sure it's not an issue on our end, e.g. our code review server).

mcimadamore avatar May 16 '24 14:05 mcimadamore

See this comment: https://github.com/openjdk/jdk/pull/19251#issuecomment-2115361171

mcimadamore avatar May 16 '24 14:05 mcimadamore

I work on OpenJDK, and I'm trying to publish a JMH report using your great tool. I've uploaded my JMH json files here:

https://cr.openjdk.org/~mcimadamore/jdk/8331865/

Ideally, I'd like to pass the two URLs to the visualizer, so that I can then share the resulting page. But I'm not having luck with using such URLs. Using gist works (or uploading locally) - but I wonder if there's a reason as to why the URL function doesn't seem to work? (and, maybe also making sure it's not an issue on our end, e.g. our code review server).

I tried this URL and got following errors in the browser console:

image You can follow Learn More links to see a list of possible mitigations

plokhotnyuk avatar May 16 '24 14:05 plokhotnyuk

Many thanks for getting back to me. I've verified that indeed there are errors on the browser console, and raised the issue to our team in charge of the server configuration. I will update this issue once I know more. Thanks again.

mcimadamore avatar May 17 '24 13:05 mcimadamore

Hey @mcimadamore , it's a CORS issue. Because JMH visualizer doesn't have a server and just runs in the browser, it cannot fetch content from servers with a restrictive content policy.

Workaround would be to use a proxy. You could manually wrap your urls into e.g. CorsProxy (https://corsproxy.io):

So https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json will become https://corsproxy.io/?https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json and that will be loadable with the visualizer https://jmh.morethan.io/?source=https://corsproxy.io/?https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json

jzillmann avatar May 26 '24 14:05 jzillmann

So https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json will become https://corsproxy.io/?https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json and that will be loadable with the visualizer https://jmh.morethan.io/?source=https://corsproxy.io/?https://cr.openjdk.org/~mcimadamore/jdk/8331865/loop_over_00_baseline.json

Nice trick/workaround - thanks!

mcimadamore avatar May 29 '24 15:05 mcimadamore

Closing this issue as it seems related to the configuration of the openjdk server cr.openjdk.org more than anything else. The workaround using CorsProxy works.

mcimadamore avatar May 29 '24 15:05 mcimadamore