Skip to content

Show more info about the server configuration (server.conf) and values on startup #838

@bsmth

Description

@bsmth

Is your feature request related to a problem? Please describe.
When starting QuestDB, it's hard to tell the location of the server.conf file, and this becomes more complicated when running multiple installations via Docker, from source or from Homebrew.

Describe the solution you'd like
The server should print out the location of the currently-used configuration file, and if possible, state which non-default values have been applied.

I would like to see something like the following:

questdb start

  ___                  _   ____  ____
 / _ \ _   _  ___  ___| |_|  _ \| __ )
| | | | | | |/ _ \/ __| __| | | |  _ \
| |_| | |_| |  __/\__ \ |_| |_| | |_) |
 \__\_\\__,_|\___||___/\__|____/|____/
                        www.questdb.io

Copyright (C) 2014-2021, all rights reserved.
QuestDB server 5.0.6.1
JAVA: /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/bin/java
Server config: /path/to/config
Config changes applied:
  http.enabled=false
  line.tcp.enabled=false
  ...

Additional Context:

Homebrew

Starting up homebrew looks currently like the following

questdb start

  ___                  _   ____  ____
 / _ \ _   _  ___  ___| |_|  _ \| __ )
| | | | | | |/ _ \/ __| __| | | |  _ \
| |_| | |_| |  __/\__ \ |_| |_| | |_) |
 \__\_\\__,_|\___||___/\__|____/|____/
                        www.questdb.io

JAVA: /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/bin/java
QuestDB server 5.0.6.1
Copyright (C) 2014-2021, all rights reserved.

Docker

With docker, the default logging level is different, so we see more information:

...
server-main extracted [path=/root/.questdb/conf/server.conf]
...
2021-03-04T17:47:43.536650Z I server-main os scheduled [name=questdb-worker-4]
2021-03-04T17:47:43.536864Z I server-main os scheduled [name=questdb-worker-5]
2021-03-04T17:47:43.537043Z I server-main started
2021-03-04T17:47:43.537104Z I server-main web console URL(s):
	http://172.17.0.2:9000
	http://127.0.0.1:9000
2021-03-04T17:47:43.540683Z I server-main os scheduled [name=questdb-worker-6]

and running with an env var to set logging level:

docker run -e QDB_LOG_W_STDOUT_LEVEL=ERROR questdb/questdb
QuestDB server 5.0.6
Copyright (C) 2014-2021, all rights reserved.
2021-03-04T17:57:05.871674Z A http-server listening on 0:9000 [fd=20]
2021-03-04T17:57:06.034997Z A http-min-server listening on 0:9003 [fd=22]
2021-03-04T17:57:06.039711Z A pg-server listening on 0:8812 [fd=24]
2021-03-04T17:57:06.083785Z A tcp-line-server listening on 0:9009 [fd=27]
^CThu Mar 04 17:57:20 UTC 2021 QuestDB is shutting down
Thu Mar 04 17:57:20 UTC 2021 QuestDB is down

Hints:
The copyright and server info is logged in servermain at the following location:

https://github.com/questdb/questdb/blob/master/core/src/main/java/io/questdb/ServerMain.java#L64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good first issueA great place to get familiar with the codebaseNew featureFeature requests

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions