**Use case**

It is better than hostname in the following example:
```
SELECT hostname() AS host, event_time, round(value, 2) AS v, bar(v, 0, 10, 100) FROM system.asynchronous_metric_log WHERE event_date >= yesterday() AND event_time >= now() - 300 AND metric = 'LoadAverage1' ORDER BY host, event_time
```

Because hostnames can be non-informative like `ip-172-31-5-46`.

{
    factory.registerFunction<FunctionTcpPort>();
}
REGISTER_FUNCTION(Timezone)
{
    factory.registerFunction<FunctionTimezone>();
    factory.registerAlias("timeZone", "timezone");
}
REGISTER_FUNCTION(Uptime)
{
    factory.registerFunction<FunctionUptime>();
}
REGISTER_FUNCTION(Version)
{
    factory.registerFunction<FunctionVersion>({}, FunctionFactory::CaseInsensitive);
}
REGISTER_FUNCTION(Revision)
{
    factory.registerFunction<FunctionRevision>({}, FunctionFactory::CaseInsensitive);
}
REGISTER_FUNCTION(ZooKeeperSessionUptime)
{
    factory.registerFunction<FunctionZooKeeperSessionUptime>();
}
REGISTER_FUNCTION(GetOSKernelVersion)
{
    factory.registerFunction<FunctionGetOSKernelVersion>();
}
}