2424#include " core/logging/LoggerFactory.h"
2525#include " core/PropertyDefinitionBuilder.h"
2626#include " LlamaContext.h"
27- #include " core/ProcessorMetrics.h"
27+ #include " minifi-cpp/core/ProcessorMetricsExtension.h"
28+ #include " core/state/Value.h"
2829
2930namespace org ::apache::nifi::minifi::extensions::llamacpp::processors {
3031
3132using LlamaContextProvider =
3233 std::function<std::unique_ptr<LlamaContext>(const std::filesystem::path& model_path, const LlamaSamplerParams& llama_sampler_params, const LlamaContextParams& llama_ctx_params)>;
3334
34- class RunLlamaCppInferenceMetrics : public core ::ProcessorMetricsImpl {
35+ class RunLlamaCppInferenceMetrics : public core ::ProcessorMetricsExtension {
3536 public:
36- explicit RunLlamaCppInferenceMetrics (const core::ProcessorImpl& source_processor)
37- : core::ProcessorMetricsImpl(source_processor) {
38- }
37+ RunLlamaCppInferenceMetrics () = default ;
3938
4039 std::vector<state::response::SerializedResponseNode> serialize () override {
41- auto resp = core::ProcessorMetricsImpl::serialize ();
42- auto & root_node = resp[0 ];
40+ std::vector<state::response::SerializedResponseNode> resp;
4341
4442 state::response::SerializedResponseNode tokens_in_node{" TokensIn" , tokens_in.load ()};
45- root_node. children .push_back (tokens_in_node);
43+ resp .push_back (tokens_in_node);
4644
4745 state::response::SerializedResponseNode tokens_out_node{" TokensOut" , tokens_out.load ()};
48- root_node. children .push_back (tokens_out_node);
46+ resp .push_back (tokens_out_node);
4947
5048 return resp;
5149 }
5250
5351 std::vector<state::PublishedMetric> calculateMetrics () override {
54- auto metrics = core::ProcessorMetricsImpl::calculateMetrics () ;
55- metrics.push_back ({" tokens_in" , static_cast <double >(tokens_in.load ()), getCommonLabels () });
56- metrics.push_back ({" tokens_out" , static_cast <double >(tokens_out.load ()), getCommonLabels () });
52+ std::vector<state::PublishedMetric> metrics ;
53+ metrics.push_back ({" tokens_in" , static_cast <double >(tokens_in.load ()), {} });
54+ metrics.push_back ({" tokens_out" , static_cast <double >(tokens_out.load ()), {} });
5755 return metrics;
5856 }
5957
@@ -66,7 +64,7 @@ class RunLlamaCppInference : public core::ProcessorImpl {
6664 explicit RunLlamaCppInference (core::ProcessorMetadata metadata, LlamaContextProvider llama_context_provider = {})
6765 : core::ProcessorImpl(metadata),
6866 llama_context_provider_(std::move(llama_context_provider)) {
69- metrics_ = gsl::make_not_null (std::make_shared<RunLlamaCppInferenceMetrics>(* this ));
67+ metrics_extension_ = gsl::make_not_null (std::make_shared<RunLlamaCppInferenceMetrics>());
7068 }
7169 ~RunLlamaCppInference () override = default ;
7270
0 commit comments