mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
// Copyright 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef MOJO_PUBLIC_CPP_ENVIRONMENT_TASK_TRACKER_H_
|
|
#define MOJO_PUBLIC_CPP_ENVIRONMENT_TASK_TRACKER_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
namespace mojo {
|
|
|
|
typedef intptr_t TaskTrackingId;
|
|
|
|
// Interface for wiring task-level profiling. This API is mainly used by the
|
|
// generated interface implementation.
|
|
struct TaskTracker {
|
|
// Start tracking. The returned id must be reclaimed through |EndTracking()|.
|
|
TaskTrackingId (*StartTracking)(const char* function_name,
|
|
const char* file_name,
|
|
int line_number,
|
|
const void* program_counter);
|
|
// Finish tracking. The |id| is one that is returned from |StartTracking()|.
|
|
void (*EndTracking)(const TaskTrackingId id);
|
|
// Enable or disable tracking. It is disabled by default.
|
|
void (*SetEnabled)(bool enabled);
|
|
};
|
|
|
|
} // namespace mojo
|
|
|
|
#endif // MOJO_PUBLIC_CPP_ENVIRONMENT_TASK_TRACKER_H_
|