Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/source/server/utils.cc
Line
Count
Source (jump to first uncovered line)
1
#include "source/server/utils.h"
2
3
#include "envoy/common/exception.h"
4
5
#include "source/common/common/assert.h"
6
7
namespace Envoy {
8
namespace Server {
9
namespace Utility {
10
11
envoy::admin::v3::ServerInfo::State serverState(Init::Manager::State state,
12
6.43k
                                                bool health_check_failed) {
13
6.43k
  switch (state) {
14
1.11k
  case Init::Manager::State::Uninitialized:
15
1.11k
    return envoy::admin::v3::ServerInfo::PRE_INITIALIZING;
16
0
  case Init::Manager::State::Initializing:
17
0
    return envoy::admin::v3::ServerInfo::INITIALIZING;
18
5.31k
  case Init::Manager::State::Initialized:
19
5.31k
    return health_check_failed ? envoy::admin::v3::ServerInfo::DRAINING
20
5.31k
                               : envoy::admin::v3::ServerInfo::LIVE;
21
6.43k
  }
22
0
  IS_ENVOY_BUG("unexpected server state enum");
23
0
  return envoy::admin::v3::ServerInfo::PRE_INITIALIZING;
24
0
}
25
26
absl::Status assertExclusiveLogFormatMethod(
27
    const Options& options,
28
2.92k
    const envoy::config::bootstrap::v3::Bootstrap::ApplicationLogConfig& application_log_config) {
29
2.92k
  if (options.logFormatSet() && application_log_config.has_log_format()) {
30
0
    return absl::InvalidArgumentError(
31
0
        "Only one of ApplicationLogConfig.log_format or CLI option --log-format can be specified.");
32
0
  }
33
2.92k
  return absl::OkStatus();
34
2.92k
}
35
36
absl::Status maybeSetApplicationLogFormat(
37
2.92k
    const envoy::config::bootstrap::v3::Bootstrap::ApplicationLogConfig& application_log_config) {
38
2.92k
  if (!application_log_config.has_log_format()) {
39
77
    return absl::OkStatus();
40
77
  }
41
42
2.85k
  if (application_log_config.log_format().has_text_format()) {
43
450
    Logger::Registry::setLogFormat(application_log_config.log_format().text_format());
44
2.40k
  } else if (application_log_config.log_format().has_json_format()) {
45
2.40k
    const auto status =
46
2.40k
        Logger::Registry::setJsonLogFormat(application_log_config.log_format().json_format());
47
48
2.40k
    if (!status.ok()) {
49
37
      return absl::InvalidArgumentError(
50
37
          fmt::format("setJsonLogFormat error: {}", status.ToString()));
51
37
    }
52
2.40k
  }
53
2.81k
  return absl::OkStatus();
54
2.85k
}
55
56
} // namespace Utility
57
} // namespace Server
58
} // namespace Envoy