blob: 6087765dd508774b7503ed5bd89774323e3fa2b2 [file] [log] [blame]
// Copyright 2024 The Fuchsia 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 SRC_DEVELOPER_PROCESS_EXPLORER_TASK_HIERARCHY_DATA_H_
#define SRC_DEVELOPER_PROCESS_EXPLORER_TASK_HIERARCHY_DATA_H_
#include <zircon/types.h>
#include <string>
#include <vector>
namespace process_explorer {
enum class TaskType : uint8_t {
Job,
Process,
Thread,
};
// Information about a task
struct Task {
int depth;
zx_koid_t koid;
zx_koid_t parent_koid;
TaskType type;
std::string name;
};
/* Returns the task information vector as a JSON string. In this format:
{
"Tasks":[
{
"depth":2,
"koid":1097,
"parent_koid":781,
"type":"process",
"name":"bin/component_manager"
},
...
]
}
*/
std::string WriteTaskHierarchyDataAsJson(std::vector<Task> tasks_data);
} // namespace process_explorer
#endif // SRC_DEVELOPER_PROCESS_EXPLORER_TASK_HIERARCHY_DATA_H_