diff --git a/core/predictor/framework/dag_view.cpp b/core/predictor/framework/dag_view.cpp index fe68ddf98df97ede819b41c0ed6d974c1b4e31f6..42a61b0885b7ecd9c4061c8bde24879d998a1ec1 100644 --- a/core/predictor/framework/dag_view.cpp +++ b/core/predictor/framework/dag_view.cpp @@ -45,6 +45,8 @@ int DagView::init(Dag* dag, const std::string& service_name) { << "at:" << si; return ERR_MEM_ALLOC_FAILURE; } + VLOG(2) << "stage[" << si << "] name: " << stage->full_name; + VLOG(2) << "stage[" << si << "] node size: " << stage->nodes.size(); vstage->full_name = service_name + NAME_DELIMITER + stage->full_name; uint32_t node_size = stage->nodes.size(); // create tls view node @@ -63,16 +65,30 @@ int DagView::init(Dag* dag, const std::string& service_name) { } // initialize a TLS op object + VLOG(2) << "dag view initialized: \n" + << "node id: " << node->id << "\n" + << "node name: " << node->name << "\n" + << "node type: " << node->type; if (op->init(_bus, dag, node->id, node->name, node->type, node->conf) != 0) { LOG(WARNING) << "Failed init op, type:" << node->type; return ERR_INTERNAL_FAILURE; } + op->set_full_name(service_name + NAME_DELIMITER + node->full_name); vnode->conf = node; vnode->op = op; vstage->nodes.push_back(vnode); } + // TODO(guru4elephant): this seems buggy, please review later + if (si > 0) { + VLOG(2) << "set op pre name: \n" + << "current op name: " << vstage->nodes.back()->op->op_name() + << " previous op name: " + << _view[si-1]->nodes.back()->op->op_name(); + vstage->nodes.back()->op->set_pre_node_name( + _view[si-1]->nodes.back()->op->op_name()); + } _view.push_back(vstage); } diff --git a/core/predictor/op/op.cpp b/core/predictor/op/op.cpp index ed3e80fb4439ccdb844aaa72cb8c0f7839d0cff0..d2e512eb69af0b70cbe07b5bc75c3acb88fea918 100644 --- a/core/predictor/op/op.cpp +++ b/core/predictor/op/op.cpp @@ -127,6 +127,7 @@ int Op::process(bool debug) { return -1; } }*/ + if (debug && _timer) { _timer->check("depend"); } diff --git a/core/predictor/op/op.h b/core/predictor/op/op.h index 279744aebd509635aa76e0e26b4f0695c370d22d..84bcf44575826a6ab00e037ce57e119ffbe4f3f3 100644 --- a/core/predictor/op/op.h +++ b/core/predictor/op/op.h @@ -128,10 +128,18 @@ class Op { const char* name() const; + const std::string& op_name() const { return _name; } + const std::string& full_name() const { return _full_name; } + const std::string& pre_name() const { return _pre_node_name; } + void set_full_name(const std::string full_name) { _full_name = full_name; } + void set_pre_node_name(const std::string pre_name) { + _pre_node_name = pre_name; + } + const std::string& type() const; uint32_t id() const; @@ -181,6 +189,7 @@ class Op { Bus* _bus; Dag* _dag; uint32_t _id; + std::string _pre_node_name; // only for sequential execution std::string _name; std::string _full_name; // service_workflow_stageindex_opname std::string _type;