Coverage Report

Created: 2026-01-08 14:46

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/root/doris/be/src/common/logging.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <memory>
21
22
// GLOG defines this based on the system but doesn't check if it's already
23
// been defined.  undef it first to avoid warnings.
24
// glog MUST be included before gflags.  Instead of including them,
25
// our files should include this file instead.
26
#undef _XOPEN_SOURCE
27
// This is including a glog internal file.  We want this to expose the
28
// function to get the stack trace.
29
#include <glog/logging.h> // IWYU pragma: export
30
#undef MutexLock
31
32
// Define VLOG levels.  We want display per-row info less than per-file which
33
// is less than per-query.  For now per-connection is the same as per-query.
34
#define VLOG_CONNECTION VLOG(1)
35
18.4E
#define VLOG_RPC VLOG(8)
36
18.4E
#define VLOG_QUERY VLOG(1)
37
18.4E
#define VLOG_FILE VLOG(2)
38
18.4E
#define VLOG_ROW VLOG(10)
39
0
#define VLOG_PROGRESS VLOG(2)
40
18.4E
#define VLOG_TRACE VLOG(10)
41
18.4E
#define VLOG_DEBUG VLOG(7)
42
72.1k
#define VLOG_NOTICE VLOG(3)
43
18.4E
#define VLOG_CRITICAL VLOG(1)
44
45
#define VLOG_CONNECTION_IS_ON VLOG_IS_ON(1)
46
#define VLOG_RPC_IS_ON VLOG_IS_ON(8)
47
#define VLOG_QUERY_IS_ON VLOG_IS_ON(1)
48
6.36k
#define VLOG_FILE_IS_ON VLOG_IS_ON(2)
49
#define VLOG_ROW_IS_ON VLOG_IS_ON(10)
50
3.86M
#define VLOG_TRACE_IS_ON VLOG_IS_ON(10)
51
86.6k
#define VLOG_DEBUG_IS_ON VLOG_IS_ON(7)
52
84.2k
#define VLOG_NOTICE_IS_ON VLOG_IS_ON(3)
53
0
#define VLOG_CRITICAL_IS_ON VLOG_IS_ON(1)
54
55
/// Define a wrapper around DCHECK for strongly typed enums that print a useful error
56
/// message on failure.
57
#define DCHECK_ENUM_EQ(a, b)                                                 \
58
    DCHECK(a == b) << "[ " #a " = " << static_cast<int>(a) << " , " #b " = " \
59
                   << static_cast<int>(b) << " ]"
60
61
#include <fmt/format.h>
62
63
#include "util/uid_util.h"
64
65
namespace doris {
66
67
// glog doesn't allow multiple invocations of InitGoogleLogging. This method conditionally
68
// calls InitGoogleLogging only if it hasn't been called before.
69
bool init_glog(const char* basename);
70
71
// Shuts down the google logging library. Call before exit to ensure that log files are
72
// flushed. May only be called once.
73
void shutdown_logging();
74
75
void update_logging(const std::string& name, const std::string& value);
76
77
class TaggableLogger {
78
public:
79
    TaggableLogger(const char* file, int line, google::LogSeverity severity)
80
1.56M
            : _msg(file, line, severity) {}
81
82
    template <typename... Args>
83
1.56M
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
1.56M
        if constexpr (sizeof...(args) == 0) {
85
864k
            _msg.stream() << fmt;
86
864k
        } else {
87
702k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
702k
        }
89
1.56M
        return *this;
90
1.56M
    }
_ZN5doris14TaggableLoggerclIJEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
864k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
864k
        if constexpr (sizeof...(args) == 0) {
85
864k
            _msg.stream() << fmt;
86
        } else {
87
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
        }
89
864k
        return *this;
90
864k
    }
_ZN5doris14TaggableLoggerclIJRSt17basic_string_viewIcSt11char_traitsIcEEEEERS0_RKS5_DpOT_
Line
Count
Source
83
25.7k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
25.7k
        } else {
87
25.7k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
25.7k
        }
89
25.7k
        return *this;
90
25.7k
    }
_ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
172k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
172k
        } else {
87
172k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
172k
        }
89
172k
        return *this;
90
172k
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNS_6StatusEEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmSA_mRKbEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
124
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
124
        } else {
87
124
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
124
        }
89
124
        return *this;
90
124
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKmEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
1
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1
        } else {
87
1
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1
        }
89
1
        return *this;
90
1
    }
_ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmSA_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
1
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1
        } else {
87
1
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1
        }
89
1
        return *this;
90
1
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRiEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRNS_6StatusEEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiS8_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
1
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1
        } else {
87
1
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1
        }
89
1
        return *this;
90
1
    }
_ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
2
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
2
        } else {
87
2
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
2
        }
89
2
        return *this;
90
2
    }
_ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_mEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
10
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
10
        } else {
87
10
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
10
        }
89
10
        return *this;
90
10
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlS2_S2_EEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRSt17basic_string_viewIcSt11char_traitsIcEEmEEERS0_RKS5_DpOT_
_ZN5doris14TaggableLoggerclIJRbEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
6.04k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
6.04k
        } else {
87
6.04k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
6.04k
        }
89
6.04k
        return *this;
90
6.04k
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRmRiEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJmmRmEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJlEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
1.21k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1.21k
        } else {
87
1.21k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1.21k
        }
89
1.21k
        return *this;
90
1.21k
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKlEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlS2_S2_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS6_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_S8_EEERS0_RKSt17basic_string_viewIcS6_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS6_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlS2_EEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJPKcEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
1
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1
        } else {
87
1
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1
        }
89
1
        return *this;
90
1
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEKS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
450k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
450k
        } else {
87
450k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
450k
        }
89
450k
        return *this;
90
450k
    }
_ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERimEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
1.96k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1.96k
        } else {
87
1.96k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1.96k
        }
89
1.96k
        return *this;
90
1.96k
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERdEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
15
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
15
        } else {
87
15
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
15
        }
89
15
        return *this;
90
15
    }
_ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
2
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
2
        } else {
87
2
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
2
        }
89
2
        return *this;
90
2
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKNS_15TObjStorageType4typeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS9_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNS_5cloud26ObjectStoreInfoPB_ProviderENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS7_EDpOT_
_ZN5doris14TaggableLoggerclIJRmRKhEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
3
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
3
        } else {
87
3
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
3
        }
89
3
        return *this;
90
3
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJRdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEimEEERS0_RKSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
83
5
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
5
        } else {
87
5
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
5
        }
89
5
        return *this;
90
5
    }
_ZN5doris14TaggableLoggerclIJRlS2_S2_RmEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
84
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
84
        } else {
87
84
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
84
        }
89
84
        return *this;
90
84
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiS8_S9_RjRlSB_SB_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjRlS9_S9_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRlSA_lRjSA_SA_SA_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
84
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
84
        } else {
87
84
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
84
        }
89
84
        return *this;
90
84
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlS2_S2_RNS_6StatusEEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJRlS2_S2_S2_RKmEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
84
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
84
        } else {
87
84
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
84
        }
89
84
        return *this;
90
84
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRiRKlS4_EEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJlllEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
24.2k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
24.2k
        } else {
87
24.2k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
24.2k
        }
89
24.2k
        return *this;
90
24.2k
    }
_ZN5doris14TaggableLoggerclIJllllEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
17.6k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
17.6k
        } else {
87
17.6k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
17.6k
        }
89
17.6k
        return *this;
90
17.6k
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_RiEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_RiEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRKlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_EEERS0_RKSt17basic_string_viewIcS7_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJilEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJmiEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
956
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
956
        } else {
87
956
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
956
        }
89
956
        return *this;
90
956
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRilEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRilRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEERS0_RKSt17basic_string_viewIcS6_EDpOT_
_ZN5doris14TaggableLoggerclIJlRlEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
1.21k
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
1.21k
        } else {
87
1.21k
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
1.21k
        }
89
1.21k
        return *this;
90
1.21k
    }
_ZN5doris14TaggableLoggerclIJllEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Line
Count
Source
83
87
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
87
        } else {
87
87
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
87
        }
89
87
        return *this;
90
87
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRllEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJRlS2_S2_mEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
_ZN5doris14TaggableLoggerclIJlRlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_S8_S8_S8_EEERS0_RKSt17basic_string_viewIcS6_EDpOT_
Line
Count
Source
83
5
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
5
        } else {
87
5
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
5
        }
89
5
        return *this;
90
5
    }
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJmEEERS0_RKSt17basic_string_viewIcSt11char_traitsIcEEDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERlS7_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Unexecuted instantiation: _ZN5doris14TaggableLoggerclIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERlmEEERS0_RKSt17basic_string_viewIcS5_EDpOT_
_ZN5doris14TaggableLoggerclIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiS9_SA_SA_S9_EEERS0_RKSt17basic_string_viewIcS5_EDpOT_
Line
Count
Source
83
65
    TaggableLogger& operator()(const std::string_view& fmt, Args&&... args) {
84
        if constexpr (sizeof...(args) == 0) {
85
            _msg.stream() << fmt;
86
65
        } else {
87
65
            _msg.stream() << fmt::format(fmt, std::forward<Args&&>(args)...);
88
65
        }
89
65
        return *this;
90
65
    }
91
92
    template <typename V>
93
3.86M
    TaggableLogger& tag(std::string_view key, V&& value) {
94
3.86M
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
3.86M
        } else {
98
3.86M
            _msg.stream() << value;
99
3.86M
        }
100
3.86M
        return *this;
101
3.86M
    }
_ZN5doris14TaggableLogger3tagIRKNS_17TAgentTaskRequestEEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
356
    TaggableLogger& tag(std::string_view key, V&& value) {
94
356
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
356
        } else {
98
356
            _msg.stream() << value;
99
356
        }
100
356
        return *this;
101
356
    }
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRKNS_9TTaskType4typeEEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
_ZN5doris14TaggableLogger3tagIRKiEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
68
    TaggableLogger& tag(std::string_view key, V&& value) {
94
68
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
68
        } else {
98
68
            _msg.stream() << value;
99
68
        }
100
68
        return *this;
101
68
    }
_ZN5doris14TaggableLogger3tagIRKlEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
277k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
277k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
277k
        } else {
98
277k
            _msg.stream() << value;
99
277k
        }
100
277k
        return *this;
101
277k
    }
_ZN5doris14TaggableLogger3tagIRlEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
577k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
577k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
577k
        } else {
98
577k
            _msg.stream() << value;
99
577k
        }
100
577k
        return *this;
101
577k
    }
_ZN5doris14TaggableLogger3tagIlEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
791k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
791k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
791k
        } else {
98
791k
            _msg.stream() << value;
99
791k
        }
100
791k
        return *this;
101
791k
    }
_ZN5doris14TaggableLogger3tagIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_St17basic_string_viewIcS5_EOT_
Line
Count
Source
93
847
    TaggableLogger& tag(std::string_view key, V&& value) {
94
847
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
847
        } else {
98
847
            _msg.stream() << value;
99
847
        }
100
847
        return *this;
101
847
    }
_ZN5doris14TaggableLogger3tagIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_St17basic_string_viewIcS5_EOT_
Line
Count
Source
93
93.6k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
93.6k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
93.6k
        } else {
98
93.6k
            _msg.stream() << value;
99
93.6k
        }
100
93.6k
        return *this;
101
93.6k
    }
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRjEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRKbEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
_ZN5doris14TaggableLogger3tagINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_St17basic_string_viewIcS5_EOT_
Line
Count
Source
93
1.09M
    TaggableLogger& tag(std::string_view key, V&& value) {
94
1.09M
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
1.09M
        } else {
98
1.09M
            _msg.stream() << value;
99
1.09M
        }
100
1.09M
        return *this;
101
1.09M
    }
_ZN5doris14TaggableLogger3tagIRKNS_9TPushType4typeEEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
3.29k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
3.29k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
3.29k
        } else {
98
3.29k
            _msg.stream() << value;
99
3.29k
        }
100
3.29k
        return *this;
101
3.29k
    }
_ZN5doris14TaggableLogger3tagImEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
313k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
313k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
313k
        } else {
98
313k
            _msg.stream() << value;
99
313k
        }
100
313k
        return *this;
101
313k
    }
_ZN5doris14TaggableLogger3tagIRiEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
533k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
533k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
533k
        } else {
98
533k
            _msg.stream() << value;
99
533k
        }
100
533k
        return *this;
101
533k
    }
_ZN5doris14TaggableLogger3tagIRmEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
75.5k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
75.5k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
75.5k
        } else {
98
75.5k
            _msg.stream() << value;
99
75.5k
        }
100
75.5k
        return *this;
101
75.5k
    }
_ZN5doris14TaggableLogger3tagIPcEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
2
    TaggableLogger& tag(std::string_view key, V&& value) {
94
2
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
2
        } else {
98
2
            _msg.stream() << value;
99
2
        }
100
2
        return *this;
101
2
    }
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRKmEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIPKcEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRbEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagISt17basic_string_viewIcSt11char_traitsIcEEEERS0_S5_OT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRKSt6vectorINS_7VersionESaIS3_EEEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
_ZN5doris14TaggableLogger3tagIiEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Line
Count
Source
93
94.3k
    TaggableLogger& tag(std::string_view key, V&& value) {
94
94.3k
        _msg.stream() << '|' << key << '=';
95
        if constexpr (std::is_same_v<V, TUniqueId> || std::is_same_v<V, PUniqueId>) {
96
            _msg.stream() << print_id(value);
97
94.3k
        } else {
98
94.3k
            _msg.stream() << value;
99
94.3k
        }
100
94.3k
        return *this;
101
94.3k
    }
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRA8_KcEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRA10_KcEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRA32_KcEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
Unexecuted instantiation: _ZN5doris14TaggableLogger3tagIRNS_6StatusEEERS0_St17basic_string_viewIcSt11char_traitsIcEEOT_
102
103
    template <typename E>
104
2.26k
    TaggableLogger& error(E&& error) {
105
2.26k
        _msg.stream() << "|error=" << error;
106
2.26k
        return *this;
107
2.26k
    }
_ZN5doris14TaggableLogger5errorIRNS_6StatusEEERS0_OT_
Line
Count
Source
104
2.26k
    TaggableLogger& error(E&& error) {
105
2.26k
        _msg.stream() << "|error=" << error;
106
2.26k
        return *this;
107
2.26k
    }
Unexecuted instantiation: _ZN5doris14TaggableLogger5errorIRNS_7TStatusEEERS0_OT_
108
109
private:
110
    google::LogMessage _msg;
111
};
112
113
// Very very important!!!!
114
// Never define LOG_DEBUG or LOG_TRACE. because the tagged logging method will
115
// always generated string and then check the log level, its performane is bad.
116
// glog's original method will first check log level if it is not satisfied,
117
// the log message is not generated.
118
2.68M
#define LOG_INFO TaggableLogger(__FILE__, __LINE__, google::GLOG_INFO)
119
194k
#define LOG_WARNING TaggableLogger(__FILE__, __LINE__, google::GLOG_WARNING)
120
4
#define LOG_ERROR TaggableLogger(__FILE__, __LINE__, google::GLOG_ERROR)
121
0
#define LOG_FATAL TaggableLogger(__FILE__, __LINE__, google::GLOG_FATAL)
122
123
// Avoid the printed log message is truncated by the glog max log size limit
124
#define LOG_LONG_STRING(severity, long_log_str)                                \
125
3
    do {                                                                       \
126
3
        constexpr size_t max_log_size = 30000 - 100;                           \
127
3
        size_t pos = 0;                                                        \
128
3
        size_t total_size = long_log_str.size();                               \
129
3
        size_t tmp_size = std::min(max_log_size, total_size);                  \
130
6
        while (pos < total_size) {                                             \
131
3
            tmp_size = std::min(max_log_size, total_size - pos);               \
132
3
            LOG(severity) << std::string(long_log_str.data() + pos, tmp_size); \
133
3
            pos += tmp_size;                                                   \
134
3
        }                                                                      \
135
3
    } while (0)
136
137
} // namespace doris