MCPcopy Create free account
hub / github.com/apache/impala / FillSessionsInfo

Method FillSessionsInfo

be/src/service/impala-http-handler.cc:813–874  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

811}
812
813void ImpalaHttpHandler::FillSessionsInfo(Document* document) {
814 lock_guard<mutex> l(server_->session_state_map_lock_);
815 Value sessions(kArrayType);
816 int num_active = 0;
817 for (const ImpalaServer::SessionStateMap::value_type& session :
818 server_->session_state_map_) {
819 shared_ptr<ImpalaServer::SessionState> state = session.second;
820 Value session_json(kObjectType);
821 Value type(PrintValue(state->session_type), document->GetAllocator());
822 session_json.AddMember("type", type, document->GetAllocator());
823
824 session_json.AddMember("inflight_queries",
825 static_cast<uint64_t>(state->inflight_queries.size()),
826 document->GetAllocator());
827 session_json.AddMember("total_queries", state->total_queries,
828 document->GetAllocator());
829
830 Value user(state->connected_user, document->GetAllocator());
831 session_json.AddMember("user", user, document->GetAllocator());
832
833 Value delegated_user(state->do_as_user, document->GetAllocator());
834 session_json.AddMember("delegated_user", delegated_user, document->GetAllocator());
835
836 Value session_id(PrintId(session.first), document->GetAllocator());
837 session_json.AddMember("session_id", session_id, document->GetAllocator());
838
839 Value connection_ids(PrintIdSet(state->connections, "\n"),
840 document->GetAllocator());
841 session_json.AddMember("connection_ids", connection_ids, document->GetAllocator());
842
843 Value default_db(state->database, document->GetAllocator());
844 session_json.AddMember("default_database", default_db, document->GetAllocator());
845
846 Value start_time(ToStringFromUnixMillis(session.second->start_time_ms,
847 TimePrecision::Second), document->GetAllocator());
848 session_json.AddMember("start_time", start_time, document->GetAllocator());
849 session_json.AddMember(
850 "start_time_sort", session.second->start_time_ms, document->GetAllocator());
851
852 Value last_accessed(ToStringFromUnixMillis(session.second->last_accessed_ms,
853 TimePrecision::Second), document->GetAllocator());
854 session_json.AddMember("last_accessed", last_accessed, document->GetAllocator());
855 session_json.AddMember(
856 "last_accessed_sort", session.second->last_accessed_ms, document->GetAllocator());
857
858 session_json.AddMember("session_timeout", state->session_timeout,
859 document->GetAllocator());
860 session_json.AddMember("expired", state->expired, document->GetAllocator());
861 session_json.AddMember("closed", state->closed, document->GetAllocator());
862 if (!state->expired && !state->closed) ++num_active;
863 session_json.AddMember("ref_count", state->ref_count, document->GetAllocator());
864 sessions.PushBack(session_json, document->GetAllocator());
865 }
866
867 document->AddMember("sessions", sessions, document->GetAllocator());
868 document->AddMember("num_sessions",
869 static_cast<uint64_t>(server_->session_state_map_.size()),
870 document->GetAllocator());

Callers

nothing calls this directly

Calls 6

PrintValueFunction · 0.85
PrintIdFunction · 0.85
PrintIdSetFunction · 0.85
PushBackMethod · 0.80
AddMemberMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected