mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-05 10:22:41 +08:00
- remove the streaming logging - refine existing logs fix #29366 --------- Signed-off-by: yah01 <yah2er0ne@outlook.com>
70 lines
2.2 KiB
C++
70 lines
2.2 KiB
C++
// Licensed to the LF AI & Data foundation 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.
|
|
|
|
#ifndef MILVUS_THREADPOOLS_H
|
|
#define MILVUS_THREADPOOLS_H
|
|
|
|
#include "ThreadPool.h"
|
|
#include "common/Common.h"
|
|
|
|
namespace milvus {
|
|
|
|
enum ThreadPoolPriority {
|
|
HIGH = 0,
|
|
MIDDLE = 1,
|
|
LOW = 2,
|
|
};
|
|
|
|
class ThreadPools {
|
|
public:
|
|
static ThreadPool&
|
|
GetThreadPool(ThreadPoolPriority priority);
|
|
|
|
~ThreadPools() {
|
|
ShutDown();
|
|
}
|
|
|
|
private:
|
|
ThreadPools() {
|
|
name_map[HIGH] = "high_priority_thread_pool";
|
|
name_map[MIDDLE] = "middle_priority_thread_pool";
|
|
name_map[LOW] = "low_priority_thread_pool";
|
|
}
|
|
static void
|
|
SetUpCoefficients() {
|
|
coefficient_map[HIGH] = HIGH_PRIORITY_THREAD_CORE_COEFFICIENT;
|
|
coefficient_map[MIDDLE] = MIDDLE_PRIORITY_THREAD_CORE_COEFFICIENT;
|
|
coefficient_map[LOW] = LOW_PRIORITY_THREAD_CORE_COEFFICIENT;
|
|
LOG_INFO("Init ThreadPools, high_priority_co={}, middle={}, low={}",
|
|
HIGH_PRIORITY_THREAD_CORE_COEFFICIENT,
|
|
MIDDLE_PRIORITY_THREAD_CORE_COEFFICIENT,
|
|
LOW_PRIORITY_THREAD_CORE_COEFFICIENT);
|
|
}
|
|
void
|
|
ShutDown();
|
|
static std::map<ThreadPoolPriority, std::unique_ptr<ThreadPool>>
|
|
thread_pool_map;
|
|
static std::map<ThreadPoolPriority, int64_t> coefficient_map;
|
|
static std::map<ThreadPoolPriority, std::string> name_map;
|
|
static std::shared_mutex mutex_;
|
|
static ThreadPools threadPools;
|
|
static bool has_setup_coefficients;
|
|
};
|
|
|
|
} // namespace milvus
|
|
|
|
#endif //MILVUS_THREADPOOLS_H
|