Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2369b1eb authored by Wei Wang's avatar Wei Wang Committed by Gerrit Code Review
Browse files

Merge changes from topic 'slow_log'

* changes:
  init: fix undefined behavior in ExecuteCommand
  Revert "Revert "init: warn slow action""
parents d8d7fc67 d67a4abc
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -105,7 +105,10 @@ std::size_t Action::NumCommands() const {
}

void Action::ExecuteOneCommand(std::size_t command) const {
    ExecuteCommand(commands_[command]);
    // We need a copy here since some Command execution may result in
    // changing commands_ vector by importing .rc files through parser
    Command cmd = commands_[command];
    ExecuteCommand(cmd);
}

void Action::ExecuteAllCommands() const {
@@ -118,14 +121,16 @@ void Action::ExecuteCommand(const Command& command) const {
    Timer t;
    int result = command.InvokeFunc();

    // TODO: this should probably be changed to "if (failed || took a long time)"...
    if (android::base::GetMinimumLogSeverity() <= android::base::DEBUG) {
    double duration_ms = t.duration() * 1000;
    // Any action longer than 50ms will be warned to user as slow operation
    if (duration_ms > 50.0 ||
        android::base::GetMinimumLogSeverity() <= android::base::DEBUG) {
        std::string trigger_name = BuildTriggersString();
        std::string cmd_str = command.BuildCommandString();
        std::string source = command.BuildSourceString();

        LOG(INFO) << "Command '" << cmd_str << "' action=" << trigger_name << source
                  << " returned " << result << " took " << t.duration() << "s";
                  << " returned " << result << " took " << duration_ms << "ms.";
    }
}

+3 −3

File changed.

Contains only whitespace changes.