MCPcopy Create free account
hub / github.com/apache/mesos / state

Method state

src/master/readonly_handler.cpp:793–942  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

791
792
793pair<Response, Option<Master::ReadOnlyHandler::PostProcessing>>
794 Master::ReadOnlyHandler::state(
795 ContentType outputContentType,
796 const hashmap<std::string, std::string>& query,
797 const process::Owned<ObjectApprovers>& approvers) const
798{
799 CHECK_EQ(outputContentType, ContentType::JSON);
800
801 const Master* master = this->master;
802 auto calculateState = [master, &approvers](JSON::ObjectWriter* writer) {
803 writer->field("version", MESOS_VERSION);
804
805 if (build::GIT_SHA.isSome()) {
806 writer->field("git_sha", build::GIT_SHA.get());
807 }
808
809 if (build::GIT_BRANCH.isSome()) {
810 writer->field("git_branch", build::GIT_BRANCH.get());
811 }
812
813 if (build::GIT_TAG.isSome()) {
814 writer->field("git_tag", build::GIT_TAG.get());
815 }
816
817 writer->field("build_date", build::DATE);
818 writer->field("build_time", build::TIME);
819 writer->field("build_user", build::USER);
820 writer->field("start_time", master->startTime.secs());
821
822 if (master->electedTime.isSome()) {
823 writer->field("elected_time", master->electedTime->secs());
824 }
825
826 writer->field("id", master->info().id());
827 writer->field("pid", string(master->self()));
828 writer->field("hostname", master->info().hostname());
829 writer->field("capabilities", master->info().capabilities());
830 writer->field("activated_slaves", master->_const_slaves_active());
831 writer->field("deactivated_slaves", master->_const_slaves_inactive());
832 writer->field("unreachable_slaves", master->_const_slaves_unreachable());
833
834 if (master->info().has_domain()) {
835 writer->field("domain", master->info().domain());
836 }
837
838 // TODO(haosdent): Deprecated this in favor of `leader_info` below.
839 if (master->leader.isSome()) {
840 writer->field("leader", master->leader->pid());
841 }
842
843 if (master->leader.isSome()) {
844 writer->field("leader_info", [master](JSON::ObjectWriter* writer) {
845 json(writer, master->leader.get());
846 });
847 }
848
849 if (approvers->approved<VIEW_FLAGS>()) {
850 if (master->flags.cluster.isSome()) {

Callers 1

countMethod · 0.45

Calls 15

SlaveWriterClass · 0.85
FullFrameworkWriterClass · 0.85
OKClass · 0.85
jsonifyFunction · 0.85
NoneClass · 0.85
fieldMethod · 0.80
infoMethod · 0.80
_const_slaves_activeMethod · 0.80
elementMethod · 0.80
jsonFunction · 0.70

Tested by

no test coverage detected