《统计点》主要介绍一下接口:
▪st3_query_specify_page_tags_cond
stats tag |
|
///*
#include "hdKingAPI.h" #include "error_code.h" #include "data_types.h" #include "hd3Struct.h" #include <stdio.h> #include <string.h>
int main() { int32 nRet = RD_SUCCESS; HD3Connection conn; HD3PtTagProp normalTag; HD3StatsTagProp statTagSave; HD3StatsTagProp statTagQuery; const char* szTagName_1 = "szStatTagName_1"; const char* szTagName_2 = "szStatTagName_2"; HD3HANDLE hIter = NULL; int32 nTagNum = 0; HD3Mask mask; HD3FilterItemSet filterSet; HD3FilterItem filterItem[2]; HD3PageQueryTagParam pageQueryParam; int32 nErrCode = 0;
//connect strcpy(conn.szAddress, "127.0.0.1"); conn.nPort = 5673; conn.nTimeout = 3; nRet = nt3_connect(&conn); if (nRet != RD_SUCCESS) { printf("connect to server failed, error code[%d]!\n", nRet); return -1; }
//login nRet = sc3_login("admin", "admin"); if (nRet != RD_SUCCESS) { printf("login failed, error code[%d]!\n", nRet); return -1; } printf("login successful!\n");
//add one normal tag and get tag id strcpy(normalTag.szTagName, "szNormalTag"); normalTag.nTagType = HD3_TAG_TYPE_INT32; mask.nCommMask = HD3M_COMM_PROP_TAG_NAME | HD3M_COMM_PROP_TAG_TYPE; mask.nExtMask = 0; nRet = pt3_add_tag(&normalTag, &mask, "", &normalTag.nTagID); if (nRet != RD_SUCCESS) { printf("add tag[%s] failed, error code [%d]!\n", normalTag.szTagName, nRet); nt3_disconnect(); return -1; } printf("add tag[%s] successful!\n", normalTag.szTagName);
//add two stat tag strcpy(statTagSave.szTagName, szTagName_1); strcpy(statTagSave.szSourceTagName, normalTag.szTagName); statTagSave.nScanPeriod = 60; statTagSave.nStatsType = HD3_STATS_TYPE_MAX; statTagSave.nSampleMode = HD3_STATS_SAMPLE_MODE_INTERVAL; statTagSave.nSampleInterval = 3600; statTagSave.nSampleStartDate = 1; statTagSave.nSampleType = HD3_STATS_SAMPLE_TYPE_RAW; statTagSave.nCalcPeriod = 0; mask.nCommMask = HD3M_COMM_PROP_TAG_NAME; mask.nExtMask = HD3M_ST_EXT_PROP_SOURCE_TAG_NAME |HD3M_ST_EXT_PROP_SCAN_PERIOD | HD3M_ST_EXT_PROP_STATS_TYPE | HD3M_ST_EXT_PROP_SAMPLE_MODE | HD3M_ST_EXT_PROP_SAMPLE_INTERVAL | HD3M_ST_EXT_PROP_SAMPLE_START_DATE | HD3M_ST_EXT_PROP_SAMPLE_TYPE | HD3M_ST_EXT_PROP_CALC_PERIOD; nRet = st3_add_tag(&statTagSave, &mask, "", &statTagSave.nTagID); if (nRet != RD_SUCCESS) { printf("add stat tag[%s] failed, error code [%d]!\n", statTagSave.szTagName, nRet); nt3_disconnect(); return -1; } printf("add tags[%s] successful!\n", statTagSave.szTagName);
strcpy(statTagSave.szTagName, szTagName_2); strcpy(statTagSave.szSourceTagName, normalTag.szTagName); statTagSave.nScanPeriod = 60; statTagSave.nStatsType = HD3_STATS_TYPE_MIN; statTagSave.nSampleMode = HD3_STATS_SAMPLE_MODE_INTERVAL; statTagSave.nSampleInterval = 3600; statTagSave.nSampleStartDate = 1; statTagSave.nSampleType = HD3_STATS_SAMPLE_TYPE_RAW; statTagSave.nCalcPeriod = 0; mask.nCommMask = HD3M_COMM_PROP_TAG_NAME; mask.nExtMask = HD3M_ST_EXT_PROP_SOURCE_TAG_NAME |HD3M_ST_EXT_PROP_SCAN_PERIOD | HD3M_ST_EXT_PROP_STATS_TYPE | HD3M_ST_EXT_PROP_SAMPLE_MODE | HD3M_ST_EXT_PROP_SAMPLE_INTERVAL | HD3M_ST_EXT_PROP_SAMPLE_START_DATE | HD3M_ST_EXT_PROP_SAMPLE_TYPE | HD3M_ST_EXT_PROP_CALC_PERIOD; nRet = st3_add_tags(1, &statTagSave, &mask, "", &statTagSave.nTagID, &nErrCode); if (nRet != RD_SUCCESS) { printf("add stat tag[%s] failed, error code [%d]!\n", statTagSave.szTagName, nRet); nt3_disconnect(); return -1; } printf("add tags[%s] successful!\n", statTagSave.szTagName);
//query tags by condition filterItem[0].nItemID = HD3_TAG_COL_COMM_PROP_TAG_NAME; filterItem[0].nRelation = HD3_RELATION_LIKE; strcpy(filterItem[0].szValue, "*");
filterItem[1].nItemID = HD3_TAG_COL_COMM_PROP_TAG_TYPE; filterItem[1].nRelation = HD3_RELATION_EQUAL; sprintf(filterItem[1].szValue, "%d", HD3_STATS_TYPE_MIN); filterSet.nSize = 2; filterSet.pItem = filterItem; mask.nCommMask = HD3M_COMM_PROP_TAG_NAME; mask.nExtMask = 0; nRet = st3_query_tags_cond(&filterSet, &mask, &hIter); if (nRet != RD_SUCCESS) { printf("query tags by condition failed, error code [%d]!\n", nRet); nt3_disconnect(); return -1; }
while (true) { nRet = ut3_get_item_step(hIter, &statTagQuery); if (RD_SUCCESS == nRet) { nTagNum ++; printf("query tag successful, tag name is %s!\n", statTagQuery.szTagName); } else if (EC_HD_API_QUERY_END == nRet) { printf("query tag complete!\n"); break; } else { printf("query tag failed, error code [%d]!\n", nRet); break; } } printf("you have queried %d stat tags totally!\n", nTagNum);
ut3_free_handle(hIter);
//query page tag by condition pageQueryParam.itemSet = filterSet; pageQueryParam.mask = mask; pageQueryParam.nCapacity = 20; pageQueryParam.nStartID = 0; nRet = st3_query_specify_page_tags_cond(&pageQueryParam, &hIter); if (nRet != RD_SUCCESS) { printf("query tags by condition failed, error code [%d]!\n", nRet); nt3_disconnect(); return -1; }
nTagNum = 0;
while (true) { nRet = ut3_get_item_step(hIter, &statTagQuery); if (RD_SUCCESS == nRet) { nTagNum ++; printf("query tag successful, tag name is %s!\n", statTagQuery.szTagName); } else if (EC_HD_API_QUERY_END == nRet) { printf("query tag complete!\n"); break; } else { printf("query tag failed, error code [%d]!\n", nRet); break; } } printf("you have queried %d stat tags totally!\n", nTagNum);
ut3_free_handle(hIter);
//query tag id uint32 nTagID = 0; nRet = tag3_query_id_by_name(szTagName_1, &nTagID); if (nRet != RD_SUCCESS) { printf("query tag id failed, stat tag name[%s], error code[%d]!\n", szTagName_1, nRet); nt3_disconnect(); return -1; } printf("stat tag[%s] query tag id successful, tag id[%d]!\n", szTagName_1, nTagID);
//modify tag desc strcpy(statTagSave.szDescriptor, "stat tag descriptor is modified"); mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR; mask.nExtMask = 0; nRet = st3_modify_tag_prop(nTagID, &statTagSave, &mask); if (nRet != RD_SUCCESS) { printf("modify stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet); nt3_disconnect(); return -1; } printf("modify stat tag successful, tag id[%d]!\n", nTagID);
//modify tag desc strcpy(statTagSave.szDescriptor, "stat tag descriptor is modified"); mask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR; mask.nExtMask = 0; nRet = st3_modify_tags_prop(1, &nTagID, &statTagSave, &mask, &nErrCode); if (nRet != RD_SUCCESS) { printf("modify stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet); nt3_disconnect(); return -1; } printf("modify stat tag successful, tag id[%d]!\n", nTagID);
//query tag prop nRet = st3_query_tag_prop(nTagID, &statTagQuery); if (nRet != RD_SUCCESS) { printf("query stat tag prop failed, tag id[%d], error code[%d]!\n", nTagID, nRet); nt3_disconnect(); return -1; } printf("query stat tag prop successful, tag id[%d], tag name[%s], tag description[%s]!\n", statTagQuery.nTagID, statTagQuery.szTagName, statTagQuery.szDescriptor);
//delete tag nRet = tag3_delete_tag(nTagID); if (nRet != RD_SUCCESS) { printf("delete stat tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet); nt3_disconnect(); return -1; } printf("delete stat tag successful, tag id[%d]!\n", nTagID);
nt3_disconnect();
return 0; }
//*/
|