64 lines
2.1 KiB
Thrift
64 lines
2.1 KiB
Thrift
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you under the Apache License, Version 2.0 (the
|
|
// "License"); you may not use this file except in compliance
|
|
// with the License. You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing,
|
|
// software distributed under the License is distributed on an
|
|
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
// KIND, either express or implied. See the License for the
|
|
// specific language governing permissions and limitations
|
|
// under the License.
|
|
|
|
namespace cpp doris
|
|
namespace java org.apache.doris.thrift
|
|
|
|
include "Metrics.thrift"
|
|
|
|
// Counter data
|
|
struct TCounter {
|
|
1: required string name
|
|
2: required Metrics.TUnit type
|
|
3: required i64 value
|
|
4: optional i64 level
|
|
}
|
|
|
|
// A single runtime profile
|
|
struct TRuntimeProfileNode {
|
|
1: required string name
|
|
2: required i32 num_children
|
|
3: required list<TCounter> counters
|
|
// TODO: should we make metadata a serializable struct? We only use it to
|
|
// store the node id right now so this is sufficient.
|
|
4: required i64 metadata
|
|
|
|
// indicates whether the child will be printed with extra indentation;
|
|
// corresponds to indent param of RuntimeProfile::AddChild()
|
|
5: required bool indent
|
|
|
|
// map of key,value info strings that capture any kind of additional information
|
|
// about the profiled object
|
|
6: required map<string, string> info_strings
|
|
|
|
// Auxilliary structure to capture the info strings display order when printed
|
|
7: required list<string> info_strings_display_order
|
|
|
|
// map from parent counter name to child counter name
|
|
8: required map<string, set<string>> child_counters_map
|
|
|
|
9: required i64 timestamp
|
|
|
|
10: optional bool is_sink
|
|
}
|
|
|
|
// A flattened tree of runtime profiles, obtained by an
|
|
// in-order traversal
|
|
struct TRuntimeProfileTree {
|
|
1: required list<TRuntimeProfileNode> nodes
|
|
}
|