mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-26 04:31:37 +08:00
添加对象统计接口
This commit is contained in:
parent
291caf537a
commit
aa45590c13
@ -1 +1 @@
|
|||||||
Subproject commit 64a61db77b1adeada5e6229b83fec655b1cc09bc
|
Subproject commit 6a21c58fa2e21416306c5a9cc88f943b882253e6
|
@ -58,6 +58,32 @@
|
|||||||
},
|
},
|
||||||
"response": []
|
"response": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "获取主要对象个数(getStatistic)",
|
||||||
|
"request": {
|
||||||
|
"method": "GET",
|
||||||
|
"header": [],
|
||||||
|
"url": {
|
||||||
|
"raw": "{{ZLMediaKit_URL}}/index/api/getStatistic?secret={{ZLMediaKit_secret}}",
|
||||||
|
"host": [
|
||||||
|
"{{ZLMediaKit_URL}}"
|
||||||
|
],
|
||||||
|
"path": [
|
||||||
|
"index",
|
||||||
|
"api",
|
||||||
|
"getStatistic"
|
||||||
|
],
|
||||||
|
"query": [
|
||||||
|
{
|
||||||
|
"key": "secret",
|
||||||
|
"value": "{{ZLMediaKit_secret}}",
|
||||||
|
"description": "api操作密钥(配置文件配置),如果操作ip是127.0.0.1,则不需要此参数"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"response": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "获取后台线程负载(getWorkThreadsLoad)",
|
"name": "获取后台线程负载(getWorkThreadsLoad)",
|
||||||
"request": {
|
"request": {
|
||||||
@ -568,6 +594,12 @@
|
|||||||
"key": "enable_mp4",
|
"key": "enable_mp4",
|
||||||
"value": "0",
|
"value": "0",
|
||||||
"description": "是否开启mp4录制"
|
"description": "是否开启mp4录制"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ffmpeg_cmd_key",
|
||||||
|
"value": "ffmpeg.cmd_hd",
|
||||||
|
"description": "FFmpeg命名参数模板,置空则采用配置项:ffmpeg.cmd",
|
||||||
|
"disabled": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1026,6 +1026,24 @@ void installWebApi() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
api_regist("/index/api/getStatistic",[](API_ARGS_MAP){
|
||||||
|
CHECK_SECRET();
|
||||||
|
val["data"]["MediaSource"] = (Json::UInt64)(ObjectStatistic<MediaSource>::count());
|
||||||
|
val["data"]["MultiMediaSourceMuxer"] = (Json::UInt64)(ObjectStatistic<MultiMediaSourceMuxer>::count());
|
||||||
|
|
||||||
|
val["data"]["TcpSession"] = (Json::UInt64)(ObjectStatistic<TcpSession>::count());
|
||||||
|
val["data"]["TcpClient"] = (Json::UInt64)(ObjectStatistic<TcpClient>::count());
|
||||||
|
val["data"]["Socket"] = (Json::UInt64)(ObjectStatistic<Socket>::count());
|
||||||
|
|
||||||
|
val["data"]["FrameImp"] = (Json::UInt64)(ObjectStatistic<FrameImp>::count());
|
||||||
|
val["data"]["Frame"] = (Json::UInt64)(ObjectStatistic<Frame>::count());
|
||||||
|
|
||||||
|
val["data"]["Buffer"] = (Json::UInt64)(ObjectStatistic<Buffer>::count());
|
||||||
|
val["data"]["BufferRaw"] = (Json::UInt64)(ObjectStatistic<BufferRaw>::count());
|
||||||
|
val["data"]["BufferLikeString"] = (Json::UInt64)(ObjectStatistic<BufferLikeString>::count());
|
||||||
|
val["data"]["BufferList"] = (Json::UInt64)(ObjectStatistic<BufferList>::count());
|
||||||
|
});
|
||||||
|
|
||||||
////////////以下是注册的Hook API////////////
|
////////////以下是注册的Hook API////////////
|
||||||
api_regist("/index/hook/on_publish",[](API_ARGS_MAP){
|
api_regist("/index/hook/on_publish",[](API_ARGS_MAP){
|
||||||
//开始推流事件
|
//开始推流事件
|
||||||
|
@ -14,6 +14,11 @@
|
|||||||
#include "Network/sockutil.h"
|
#include "Network/sockutil.h"
|
||||||
#include "Network/TcpSession.h"
|
#include "Network/TcpSession.h"
|
||||||
using namespace toolkit;
|
using namespace toolkit;
|
||||||
|
|
||||||
|
namespace toolkit {
|
||||||
|
StatisticImp(mediakit::MediaSource);
|
||||||
|
}
|
||||||
|
|
||||||
namespace mediakit {
|
namespace mediakit {
|
||||||
|
|
||||||
recursive_mutex s_media_source_mtx;
|
recursive_mutex s_media_source_mtx;
|
||||||
|
@ -296,6 +296,8 @@ private:
|
|||||||
string _app;
|
string _app;
|
||||||
string _stream_id;
|
string _stream_id;
|
||||||
std::weak_ptr<MediaSourceEvent> _listener;
|
std::weak_ptr<MediaSourceEvent> _listener;
|
||||||
|
//对象个数统计
|
||||||
|
ObjectStatistic<MediaSource> _statistic;
|
||||||
};
|
};
|
||||||
|
|
||||||
///缓存刷新策略类
|
///缓存刷新策略类
|
||||||
|
@ -11,6 +11,11 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "Common/config.h"
|
#include "Common/config.h"
|
||||||
#include "MultiMediaSourceMuxer.h"
|
#include "MultiMediaSourceMuxer.h"
|
||||||
|
|
||||||
|
namespace toolkit {
|
||||||
|
StatisticImp(mediakit::MultiMediaSourceMuxer);
|
||||||
|
}
|
||||||
|
|
||||||
namespace mediakit {
|
namespace mediakit {
|
||||||
|
|
||||||
///////////////////////////////MultiMuxerPrivate//////////////////////////////////
|
///////////////////////////////MultiMuxerPrivate//////////////////////////////////
|
||||||
|
@ -192,6 +192,8 @@ private:
|
|||||||
mutex _rtp_sender_mtx;
|
mutex _rtp_sender_mtx;
|
||||||
unordered_map<string, RtpSender::Ptr> _rtp_sender;
|
unordered_map<string, RtpSender::Ptr> _rtp_sender;
|
||||||
#endif //ENABLE_RTPPROXY
|
#endif //ENABLE_RTPPROXY
|
||||||
|
//对象个数统计
|
||||||
|
ObjectStatistic<MultiMediaSourceMuxer> _statistic;
|
||||||
};
|
};
|
||||||
|
|
||||||
}//namespace mediakit
|
}//namespace mediakit
|
||||||
|
@ -13,6 +13,11 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace toolkit;
|
using namespace toolkit;
|
||||||
|
|
||||||
|
namespace toolkit {
|
||||||
|
StatisticImp(mediakit::Frame);
|
||||||
|
StatisticImp(mediakit::FrameImp);
|
||||||
|
}
|
||||||
|
|
||||||
namespace mediakit{
|
namespace mediakit{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -122,6 +122,10 @@ public:
|
|||||||
* 返回可缓存的frame
|
* 返回可缓存的frame
|
||||||
*/
|
*/
|
||||||
static Ptr getCacheAbleFrame(const Ptr &frame);
|
static Ptr getCacheAbleFrame(const Ptr &frame);
|
||||||
|
|
||||||
|
private:
|
||||||
|
//对象个数统计
|
||||||
|
ObjectStatistic<Frame> _statistic;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FrameImp : public Frame {
|
class FrameImp : public Frame {
|
||||||
@ -166,6 +170,8 @@ public:
|
|||||||
uint32_t _pts = 0;
|
uint32_t _pts = 0;
|
||||||
size_t _prefix_size = 0;
|
size_t _prefix_size = 0;
|
||||||
BufferLikeString _buffer;
|
BufferLikeString _buffer;
|
||||||
|
//对象个数统计
|
||||||
|
ObjectStatistic<FrameImp> _statistic;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user