Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Consider caddy status command #7453

@mholt

Description

@mholt

Issue Details

@francislavoie suggested we have something similar to apache fullstatus. This prints, among other things:

  • Version
  • Time
  • Uptime
  • Time last started/restarted
  • Load
  • "Accesses" (request count)
  • Total traffic
  • Total time spent serving requests
  • CPU usage
  • Average req/sec, transfer/sec, request size, request latency
  • Count of active requests
  • A "dot-matrix" style summary of what is happening, like: "waiting for connection," keepalive, reading/writing, DNS lookup, closing connection, etc. (For us, each "dot" would be a goroutine I think.)
  • Kind of a log of all active requests (protocol, client, start time, duration, Host header, req size, r/w bytes, etc.)

Not that we have to implement a copycat output, but I think we can get ideas from that ^.

Additionally, maybe modules should be able to add their own status info.

Now, we already have the :2019/debug/ endpoints on the local admin interface which outputs a considerable amount of debugging information from the Go runtime already. So we need not duplicate that information. But HTTP/TLS/PKI-related stuff, let's definitely include.

This would first be implemented as an API endpoint (JSON output format), and then a CLI command can query and nicely format that for human consumption (or just print the raw JSON).

Assistance Disclosure

AI not used

If AI was used, describe the extent to which it was used.

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions