~sircmpwn/gddo#4: 
Imports graph

https://godocs.io/github.com/akavel/up?import-graph shows Internal server error. Is there a chance you might enable this feature in some form? That's a feature I'm personally painfully missing on pkg.go.dev, and was really hoping to see resurrected on godocs.io

Status
RESOLVED FIXED
Submitter
~akavel
Assigned to
No-one
Submitted
9 months ago
Updated
9 months ago
Labels
No labels applied.

~sircmpwn 9 months ago

Hm, I'm open to it, but I'm not sure how it works on godoc.org. I'll investigate when I get the chance, if you have time feel free to pull down the gddo sources and see if you can identify the requirements.

~akavel 9 months ago*

It shells out to dot. My initial guess would be that maybe you don't have graphviz installed in the container/jail/machine/...? If you don't want to do that (I didn't yet explore what are the limits on throttling on this feature), I would think offloading this to JS/WASM could be acceptable.

edit: FWIW, as I suspected, there seem to be some JS/WASM ports of graphviz available in case you'd prefer that approach.

~sircmpwn 9 months ago

That doesn't seem to be the only requirement: dot is installed on the server.

~akavel 9 months ago

Interesting!

~akavel 9 months ago*

Hm; given that ImportGraph seems to also use Redis, and the "Internal error" message I got is rather spartan, it's not currently clear to me how I could further help debugging this without access to the infrastructure. Still, as a quick check that could still hopefully tell us a bit more, is there a chance you could be able to find some corresponding message in the server logs, matching the URL I listed in the OP of the issue?

~sircmpwn 9 months ago

Redis is running on the box. Have you been able to generate graphs locally? It would help nail down the issue if you could reproduce it by running gddo locally, the setup time is pretty low.

There is nothing useful in the logs, I'm afraid.

~akavel 9 months ago

Do you have any hints or working notes as to how to set up the environment? E.g. I know basically nothing about Redis.

~sircmpwn 9 months ago

Redis takes care of itself, just install it and start it. Postgresql would require a bit more effort, but I'm pretty sure it's optional with the way we have things setup here.

~akavel 9 months ago*

Curious: with Redis in separate console, but without graphviz (I forgot about it initially), I got "Internal server error" and:

$ go run -v ./gddo-server/
WARN[01-19|21:30:12] failed to load configuration file        error="Config File \"gddo\" Not Found in \"[/home/akavel/prog/gddo /etc]\""
DBUG[01-19|21:30:12] config values loaded                     values="map[assets:/home/akavel/prog/gddo/gddo-server/assets config: crawl_interval:0s db-idle-timeout:4m10s db-log:false db-server:redis://127.0.0.1:6379 default_goos: dial_timeout:5s first_get_timeout:5s get_timeout:8s github_interval:0s http::8080 max_age:24h0m0s memcache_addr: pg-server: request_timeout:20s robot:100 sidebar:false trace_fraction:0.1 trace_max_qps:5 trust_proxy_headers:false]"
2021/01/19 21:30:34 web   fetch: 2190 put: 8-88516fde4023aafa335f8da0a12a95bab0f8033a github.com/akavel/up
2021/01/19 21:30:37 Error serving /github.com/akavel/up?import-graph: exec: "dot": executable file not found in $PATH

on the console, but once I installed graphviz (edit: and started the server again), I can see the graph rendered successfully.

~sircmpwn REPORTED FIXED 9 months ago

Got it. It was throttling because it didn't trust the proxy headers from nginx. Works now.

~akavel 9 months ago

Awesome, thank you so much!!

Register here or Log in to comment, or comment via email.