Visitar URL original
Potential Logging Overhead due to regular expression · Issue #4211 · mamba-org/mamba · GitHub
Skip to content

Potential Logging Overhead due to regular expression #4211

Open

Description

@jjerphan

All LOG_* might call Console::hide_secrets which can be costly in some cases.

Details

LOG_DEBUG's core code path is as follow:

  • LOG_DEBUG
  • LOG(mamba::log_level::debug)
  • mamba::logging::MessageLogger(log_level).stream()
  • std::ostream::operator<< chain for message parts ("..." << x << ...)
  • mamba::logging::MessageLogger::~MessageLogger()
  • make_safe_log_record(...)
  • Console::hide_secrets(...)
  • prepend(...)
  • branch:
    • if !message_logger_use_buffer && Console::is_available():
      • MessageLogger::emit(...)
      • mamba::logging::log(...)
      • call_log_handler_if_existing(&AnyLogHandler::log, ...)
      • get_log_handler()
      • AnyLogHandler::log(...)
      • AnyLogHandler::Wrapper<T>::log(...)
      • as_ref(object).log(...) (concrete registered handler)
    • else (buffered path):
      • message_logger_buffer->ready_records()
      • std::vector<LogRecord>::push_back(...)
      • later via MessageLogger::print_buffer(...):
        • MessageLogger::emit(...) for each buffered record
        • then the same dispatch chain as above

We need to assess whether hide_secrets can be avoided or sped-up if it becomes a bottle-neck.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions