core/host_monitor/collector/ProcessEntityCollector.cpp (7 lines): - line 100: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_USER, ""); TODO: get user name - line 101: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_CWD, ""); TODO: get cwd - line 102: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_BINARY, ""); TODO: get binary - line 103: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_ARGUMENTS, ""); TODO: get arguments - line 104: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_LANGUAGE, ""); TODO: get language - line 105: // event->SetContent(DEFAULT_CONTENT_KEY_PROCESS_CONTAINER_ID, ""); TODO: get container id - line 178: // TODO: more accurate cache core/config/CollectionConfig.cpp (7 lines): - line 252: // TODO: remove these special restrictions - line 257: // TODO: remove these special restrictions after all C++ inputs support Go processors - line 263: // TODO: remove these special restrictions - line 349: // TODO: remove these special restrictions - line 478: // TODO: remove these special restrictions - line 493: // TODO: remove these special restrictions - line 504: // TODO: remove these special restrictions core/unittest/reader/ForceReadUnittest.cpp (4 lines): - line 301: // TODO: difficult to test, the behavior should be - line 305: // TODO: difficult to test, the behavior should be - line 309: // TODO: difficult to test, the behavior should be - line 313: // TODO: difficult to test, the behavior should be core/common/MachineInfoUtil.cpp (3 lines): - line 317: // TODO: For Windows, interface should be replace to adaptor name. - line 366: // TODO: - line 419: // TODO: For Windows, interface should be replace to adaptor name. core/monitor/profile_sender/ProfileSender.cpp (3 lines): - line 30: // TODO: temporarily used - line 103: // TODO: temporarily used - line 121: // TODO: temporarily used, profile should work in unit test core/runner/FlusherRunner.cpp (3 lines): - line 113: // TODO: use semaphore instead - line 182: // TODO: use rate limiter instead - line 202: // TODO: make it common for all http flushers pkg/protocol/decoder/opentelemetry/otlpDataToPielineGroupEvents.go (3 lines): - line 171: // TODO: - line 230: // TODO: - line 444: // TODO: core/collection_pipeline/plugin/interface/Flusher.cpp (3 lines): - line 19: // TODO: temporarily used here - line 32: // TODO: temporarily used here - line 100: // TODO: because current profile has a dummy flusher, we have to use item->mQueueKey here core/collection_pipeline/CollectionPipeline.cpp (3 lines): - line 301: // TODO: for go input, we currently assume bounded process queue - line 363: // TODO: 应该保证指定时间内返回,如果无法返回,将配置放入startDisabled里 - line 446: // TODO: 应该保证指定时间内返回,如果无法返回,将配置放入stopDisabled里 pkg/protocol/encoder/prometheus/encoder_prometheus.go (2 lines): - line 54: // TODO implement me - line 59: // TODO implement me core/collection_pipeline/serializer/JsonSerializer.cpp (2 lines): - line 61: // TODO: should support nano second - line 84: // TODO: key should support custom key core/ebpf/plugin/network_observer/NetworkObserverManager.cpp (2 lines): - line 815: mClusterId); // clusterId ===> TODO read from env _cluster_id_ - line 1017: // TODO @qianlu.kk core/plugin/flusher/sls/DiskBufferWriter.cpp (2 lines): - line 692: // TODO: Why not use fopen or fstream??? - line 693: // TODO: Make sure and merge them. core/runner/FlusherRunner.h (2 lines): - line 46: // TODO: should be private - line 67: // TODO: temporarily here core/unittest/polling/PollingUnittest.cpp (2 lines): - line 672: #if defined(__linux__) // TODO: Add for Windows. - line 826: #if defined(__linux__) // TODO: Add for Windows. core/go_pipeline/LogtailPlugin.cpp (2 lines): - line 209: // TODO: because go profile pipeline is not controlled by C++, we cannot know queue key in advance - line 271: // TODO: support multi-flusher core/ebpf/plugin/ProcessCacheManager.cpp (2 lines): - line 239: // TODO: maybe we can iterate over the /proc folder and remove unexisting entries - line 290: // TODO: maybe we can iterate over the /proc folder and remove unexisting entries core/application/Application.cpp (2 lines): - line 205: // TODO: move metric related initialization to input Init - line 377: // TODO: make it common core/protobuf/models/ProtocolConversion.cpp (2 lines): - line 61: // TODO: transfer metadatas - line 224: // TODO: transfer metadatas core/common/Thread.h (2 lines): - line 39: // TODO: Add timeout. - line 47: // TODO: core/common/FileSystemUtil.cpp (2 lines): - line 487: // TODO: Record errno - line 498: // TODO: Record errno. core/plugin/flusher/sls/FlusherSLS.cpp (2 lines): - line 646: // TODO: temporarily used here, for send logtail alarm only, should be removed after alarm is refactored - line 1151: // TODO: improve performance core/common/xxhash/xxhash.h (2 lines): - line 3170: || (defined(__s390x__) && defined(__VEC__)) && defined(__GNUC__) /* TODO: IBM XL */ - line 3918: * FIXME: Clang's output is still _much_ faster -- On an AMD Ryzen 3600, core/models/SpanEvent.cpp (2 lines): - line 315: // TODO: this is not O(1), however, these two fields are not frequently used, so it can thought of O(1) - line 324: // TODO: for enum, it seems more reasonable to use actual string size instead of size of enum plugins/input/docker/rawstdout/input_docker_stdout.go (2 lines): - line 127: ss.startCheckPoint = values[0] //TODO: this is not correct, stdout and stderr should have separate checkpoint - line 168: ss.startCheckPoint = values[0] //TODO: checkpoint before regex check, too early pkg/helper/file_helper_windows.go (2 lines): - line 32: // TODO: Windows will not use them, so just add them to pass compilation. - line 105: // TODO: Open pull request to Golang so also Delete flag can be set core/logger/Logger.cpp (2 lines): - line 44: // TODO: There is a CALL level in apsara, have to mapping it?? - line 133: // TODO: Add supports for @maxDaysFromModify and @compress. pluginmanager/plugin_manager.go (2 lines): - line 172: // TODO: This alarm can not be sent to server in current alarm design. - line 175: // TODO: The key should be versioned. Current implementation will overwrite the previous version when reload a block config multiple times. core/file_server/polling/PollingDirFile.cpp (2 lines): - line 459: // TODO: Refactor directory cache, maintain all configs that match the directory. - line 465: // TODO: Add file cache looking up here: we can skip the file if it is in cache plugins/input/canal/input_canal.go (2 lines): - line 137: // TODO: This parameter is not exposed in document. - line 812: // TODO: instead of getting from server, use local checkpoint. plugins/input/syslog/syslog.go (2 lines): - line 309: // TODO: Scan panics if the split function returns too many empty tokens without advancing the input. - line 354: // TODO: There is a problem here, if for loop quit because of i/o timeout, the plugin quits plugins/aggregator/baseagg/doc.go (1 line): - line 32: // // TODO: ... core/plugin/processor/ProcessorParseDelimiterNative.cpp (1 line): - line 170: // TODO: currently OverflowedFieldsTreatment additionally controls ExtractingPartialFields, which should be plugins/input/input_wineventlog/eventlog/eventlogging.go (1 line): - line 106: // TODO: Use number of bytes to grow the buffer size as needed. core/common/StringTools.cpp (1 line): - line 308: boost::regex::save_subexpression_location); // TODO: do not need to compile every time core/plugin/flusher/sls/FlusherSLS.h (1 line): - line 96: // TODO: temporarily public for profile core/unittest/config/ConfigMatchUnittest.cpp (1 line): - line 285: // TODO: Add for Windows. core/common/TimeUtil.h (1 line): - line 44: // Convert @tm to string according to @format. TODO: Merge ConvertToTimeStamp and GetTimeStamp. core/runner/sink/http/HttpSink.cpp (1 line): - line 70: // TODO: should be dynamic core/plugin/input/input.cmake (1 line): - line 24: # TODO: remote ebpf related source files core/common/http/HttpRequest.h (1 line): - line 55: // TODO: upgrade curl to 7.62, and replace the following 4 members core/common/RuntimeUtil.cpp (1 line): - line 42: // TODO: In ConfigManager.cpp, some places use / to concat path, which might fail on Windows, core/file_server/event_handler/HistoryFileImporter.cpp (1 line): - line 118: // TODO: currently only 1 input is allowed, so we assume 0 here. It should be the actual input seq after core/collection_pipeline/limiter/RateLimiter.cpp (1 line): - line 18: // TODO: temporarily used pkg/protocol/decoder/sls/decoder.go (1 line): - line 43: //TODO: Implement DecodeV2 core/common/xxhash/xxh_x86dispatch.c (1 line): - line 483: * TODO: Consolidate? core/plugin/input/InputHostMonitor.cpp (1 line): - line 57: // TODO: add more collectors core/common/HashUtil.h (1 line): - line 26: // TODO: Same implementation in sdk module, merge them. core/app_config/AppConfig.cpp (1 line): - line 1645: // TODO: Use Boost instead. core/common/FileSystemUtil.h (1 line): - line 208: // TODO: Most error happened when the entry is symbolic, maybe we can ignore plugins/input/telegraf/input_telegraf.go (1 line): - line 33: // TODO: validate Detail core/common/EncodingConverter.cpp (1 line): - line 48: // TODO: Refactor it, do not use the output params to do calculations, set them before return. pkg/protocol/decoder/statsd/decoder.go (1 line): - line 71: //TODO: Implement DecodeV2 core/collection_pipeline/queue/ProcessQueueManager.cpp (1 line): - line 267: // TODO: use semaphore instead core/monitor/Monitor.cpp (1 line): - line 160: #if defined(__linux__) // TODO: Add auto scale support for Windows. core/ebpf/EBPFServer.cpp (1 line): - line 384: // pluginManager->UpdateProcessCacheManager(nullptr); // deprecated ... TODO @qianlu.kk core/collection_pipeline/limiter/RateLimiter.h (1 line): - line 33: // TODO: temporarily used, should use rate limiter instead core/file_server/event_handler/EventHandler.cpp (1 line): - line 164: // TODO: why not use RegisterHandlers plugins/input/telegraf/telegraf_manager.go (1 line): - line 295: // TODO: try cgo, implement exec with C and popen. core/file_server/ConfigManager.cpp (1 line): - line 455: // TODO: A potential bug: FindBestMatch will test @object with filePattern, which has very core/file_server/EventDispatcher.h (1 line): - line 112: // TODO see whether report errors core/common/StringTools.h (1 line): - line 154: // TODO: Test it. core/file_server/EventDispatcher.cpp (1 line): - line 845: if (fsutil::PathStat::lstat(path, lstatBuf)) // TODO: Need review, might be a bug. core/collection_pipeline/CollectionPipelineManager.h (1 line): - line 67: // TODO: 长期过渡使用 core/models/SizedContainer.h (1 line): - line 26: // TODO: Be a complete wrapper of the original container core/unittest/ebpf/NetworkObserverUnittest.cpp (1 line): - line 215: // TODO @qianlu.kk core/common/ProcParser.h (1 line): - line 31: // TODO use definations in bpf_process_event_type.h core/ebpf/driver/BPFWrapper.h (1 line): - line 241: // TODO @qianlu.kk recycle this fd when distroy pkg/protocol/decoder/opentelemetry/otlpDataToSLSProto.go (1 line): - line 391: // TODO: core/runner/ProcessorRunner.cpp (1 line): - line 156: // TODO: core/common/TimeUtil.cpp (1 line): - line 270: // TODO: plugins/input/kubernetesmetav2/meta_collector.go (1 line): - line 344: // TODO: temporary convert from event group back to log, will fix after pipeline support Go input to C++ processor pkg/util/util.go (1 line): - line 212: // TODO: Last implementation costs too much CPU, find a better way to implement it. core/plugin/processor/ProcessorFilterNative.cpp (1 line): - line 108: // TODO: deprecated, remove in the future core/protobuf/sls/LogGroupSerializer.cpp (1 line): - line 220: // TODO: avoid copy core/collection_pipeline/queue/ProcessQueueInterface.cpp (1 line): - line 49: // TODO: support other strategy core/unittest/common/TimeUtilUnittest.h (1 line): - line 128: // TODO: Add more common cases in future. pluginmanager/plugin_runner_v2.go (1 line): - line 471: // TODO: Design the ReceiveRawLogV2, which is passed in a PipelineGroupEvents not pipeline.LogWithContext, and tags should be added in the PipelineGroupEvents. core/unittest/sender/SenderUnittest.cpp (1 line): - line 1421: // TODO: Figure it out why??? core/collection_pipeline/queue/SenderQueueManager.cpp (1 line): - line 210: // TODO: use semaphore instead core/common/DevInode.cpp (1 line): - line 27: // TODO: Remove it, it seems that nobody call it now.