36 const std::string& output)
override;
40 void Info(
const char* msg, ...)
override;
41 void Warning(
const char* msg, ...)
override;
42 void Error(
const char* msg, ...)
override;
98 void SnprintfRate(
double rate,
char (&buf)[S],
const char* format)
const {
100 snprintf(buf, S,
"?");
102 snprintf(buf, S, format, rate);
Options (e.g. verbosity, parallelism) passed to a build.
An edge in the dependency graph; links between Nodes using Rules.
A class used to record a list of explanation strings associated with a given 'item' pointer.
Prints lines of text, possibly overprinting previously printed lines if the terminal supports it.
void UpdateRate(int update_hint, int64_t time_millis)
std::queue< double > times_
Implementation of the Status interface that prints the status as human-readable strings to stdout.
void PrintStatus(const Edge *edge, int64_t time_millis)
void BuildEdgeStarted(const Edge *edge, int64_t start_time_millis) override
int64_t cpu_time_millis_
How much cpu clock elapsed so far?
void Warning(const char *msg,...) override
void BuildFinished() override
SlidingRateInfo current_rate_
LinePrinter printer_
Prints progress output.
void Error(const char *msg,...) override
void EdgeAddedToPlan(const Edge *edge) override
Callbacks for the Plan to notify us about adding/removing Edge's.
void EdgeRemovedFromPlan(const Edge *edge) override
int64_t time_millis_
How much wall clock elapsed so far?
const char * progress_status_format_
The custom progress status format to use.
void BuildEdgeFinished(Edge *edge, int64_t start_time_millis, int64_t end_time_millis, ExitStatus exit_code, const std::string &output) override
void SnprintfRate(double rate, char(&buf)[S], const char *format) const
int eta_predictable_edges_total_
Out of all the edges, for how many do we know previous time?
void SetExplanations(Explanations *explanations) override
Set the |explanations_| pointer. Used to implement -d explain.
int eta_unpredictable_edges_remaining_
For how many edges we don't know the previous run time?
void Info(const char *msg,...) override
int64_t eta_predictable_cpu_time_total_millis_
And how much time did they all take?
void RecalculateProgressPrediction()
StatusPrinter(const BuildConfig &config)
int eta_predictable_edges_remaining_
Out of all the non-finished edges, for how many do we know previous time?
void BuildStarted() override
const BuildConfig & config_
int64_t eta_predictable_cpu_time_remaining_millis_
And how much time will they all take?
std::string FormatProgressStatus(const char *progress_status_format, int64_t time_millis) const
Format the progress status string by replacing the placeholders.
double time_predicted_percentage_
What percentage of predicted total time have elapsed already?
Explanations * explanations_
An optional Explanations pointer, used to implement -d explain.
Abstract interface to object that tracks the status of a build: completion fraction,...
signed long long int64_t
A 64-bit integer type.