summaryrefslogtreecommitdiff
path: root/src/frag_monitor.c
diff options
context:
space:
mode:
authorlishu <[email protected]>2019-12-03 20:18:06 +0800
committerlishu <[email protected]>2019-12-03 20:18:06 +0800
commit9311a24e1ef2961bf5e98785320efd22e335dfe5 (patch)
tree0e18fe306bc2f2cc14755a3febd550d2972823bf /src/frag_monitor.c
parent30bad7c8270f7b22153bbe19bdddf7374065c0b0 (diff)
增加single_key AV_local_log_convert_json
Diffstat (limited to 'src/frag_monitor.c')
-rw-r--r--src/frag_monitor.c50
1 files changed, 28 insertions, 22 deletions
diff --git a/src/frag_monitor.c b/src/frag_monitor.c
index 87127e5..1c9f28f 100644
--- a/src/frag_monitor.c
+++ b/src/frag_monitor.c
@@ -37,7 +37,7 @@
#include "frag_common.h"
#include "frag_block.h"
-int FRAG_MONITOR_VERSION_2_0_20190802 = 0;
+int FRAG_MONITOR_VERSION_2_0_20191126 = 0;
void frag_monitor_history()
{
//2015.09.23 create the project
@@ -79,6 +79,7 @@ void frag_monitor_history()
//2018.07.24 1. 1. create maat feather
//2018.11.12 1. 1. set K_PROJECT because different maat table
//2019.08.02 1. 1. maat service_defined
+ //2019.11.26 send single_key when double-way to cpz and kafka
}
frag_monitor_runtime_parameter_t g_frag_prog_para;
@@ -190,8 +191,10 @@ void index_local_log(const char* filename, char* buf, uint32 buflen)
void frag_json_report(int local_log_type, frag_info_t* frag, http_infor* a_http,struct streaminfo *a_tcp, int thread_seq)
{
AV_info_t p;
- opt_unit_t* opt =NULL;
- int opt_num = 0;
+ opt_unit_t opt[2];
+ int opt_num = 0;
+ char query_url_key[1024] = {0};
+ int gen_key = 0;
p.a_stream = a_tcp;
p.pid = frag->tuple7_id;
@@ -206,20 +209,25 @@ void frag_json_report(int local_log_type, frag_info_t* frag, http_infor* a_http,
p.length = a_http->cont_length;
p.protocol = frag->proto;
- /*referer*/
- if(frag->frag_opt[FRAG_REFERER].opt_value!=NULL)
+ /*��������׼key��20191126�����۵���������˫���������͸��ֶ�*/
+ gen_key = append_http_query_key(a_tcp, a_http->http_session_seq, query_url_key, sizeof(query_url_key));
+ if(gen_key >= 0)
{
- opt = (opt_unit_t*)dictator_malloc(thread_seq, sizeof(opt_unit_t));
- opt->opt_len = frag->frag_opt[FRAG_REFERER].opt_len;
- opt->opt_type = META_OPT_REFERER;
- opt->opt_value = frag->frag_opt[FRAG_REFERER].opt_value;
+ opt[0].opt_len = strlen(query_url_key);
+ opt[0].opt_type = META_OPT_SINGLE_KEY;
+ opt[0].opt_value = query_url_key;
opt_num ++;
}
- AV_local_log_convert_json(&p,local_log_type,opt,opt_num);
- if(opt!=NULL)
- {
- dictator_free(thread_seq, opt);
+
+ /*referer*/
+ if(frag->frag_opt[FRAG_REFERER].opt_value!=NULL)
+ {
+ opt[1].opt_len = frag->frag_opt[FRAG_REFERER].opt_len;
+ opt[1].opt_type = META_OPT_REFERER;
+ opt[1].opt_value = frag->frag_opt[FRAG_REFERER].opt_value;
+ opt_num ++;
}
+ AV_local_log_convert_json(&p,local_log_type, opt,opt_num);
}
//void frgmnt_index_sendback_more(frag_info_t* frag, http_infor* a_http, struct streaminfo *a_tcp, int thread_seq)
@@ -453,21 +461,19 @@ uchar frgmnt_av_sendback(frag_info_t* frag, char* data, uint32 data_len, http_in
create_media_opt(&(frag->av_info->media_optinfo),META_OPT_TYPE_URL, frag->frag_opt[FRAG_URL].opt_value, frag->frag_opt[FRAG_URL].opt_len-1,thread_seq);
FS_operate(g_frag_prog_para.fs_handle, g_frag_prog_para.fs_id[URL_META], 0, FS_OP_ADD, 1);
}
- /*��������׼key*/
- else
+ /*��������׼key��20191126�����۵���������˫���������͸��ֶ�*/
+ gen_key = append_http_query_key(a_tcp, a_http->http_session_seq, query_url_key, sizeof(query_url_key));
+ if(gen_key >= 0)
{
- gen_key = append_http_query_key(a_tcp, a_http->http_session_seq, query_url_key, sizeof(query_url_key));
- if(gen_key >= 0)
- {
- create_media_opt(&(frag->av_info->media_optinfo), META_OPT_SINGLE_KEY, query_url_key, strlen(query_url_key),thread_seq);
- FS_operate(g_frag_prog_para.fs_handle, g_frag_prog_para.fs_id[KEY_META], 0, FS_OP_ADD, 1);
- }
+ create_media_opt(&(frag->av_info->media_optinfo), META_OPT_SINGLE_KEY, query_url_key, strlen(query_url_key),thread_seq);
+ FS_operate(g_frag_prog_para.fs_handle, g_frag_prog_para.fs_id[KEY_META], 0, FS_OP_ADD, 1);
}
+
/*ua*/
if(NULL!=frag->frag_opt[FRAG_UA].opt_value)
{
create_media_opt(&(frag->av_info->media_optinfo),META_OPT_USER_AGENT, frag->frag_opt[FRAG_UA].opt_value, frag->frag_opt[FRAG_UA].opt_len-1,thread_seq);
- }
+ }
/*referer*/
if(NULL!=frag->frag_opt[FRAG_REFERER].opt_value)
{