修改field_stats

This commit is contained in:
pengxuanzheng
2020-10-22 16:35:03 +08:00
parent 822ea4c65f
commit 9cda944013
2 changed files with 56 additions and 29 deletions

View File

@@ -164,18 +164,17 @@ static void *fs2_statistics(void *ptr)
{ {
break; break;
} }
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[0], FS_OP_ADD, handle->tx_pkts);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[1], FS_OP_ADD, handle->tx_bytes);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[2], FS_OP_ADD, handle->rx_pkts);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[3], FS_OP_ADD, handle->rx_bytes);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[0], FS_OP_SET, handle->tx_pkts); FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[0], FS_OP_SET, handle->tx_pkts * 10);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[1], FS_OP_SET, handle->tx_bytes); FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[1], FS_OP_SET, handle->tx_bytes * 10);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[2], FS_OP_SET, handle->rx_pkts); FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[2], FS_OP_SET, handle->rx_pkts * 10);
FS_operate(handle->fs2_handle, handle->line_ids[0], handle->column_ids[3], FS_OP_SET, handle->rx_bytes); FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[3], FS_OP_SET, handle->rx_bytes * 10);
FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[0], FS_OP_SET, handle->tx_pkts); usleep(100);
FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[1], FS_OP_SET, handle->tx_bytes);
FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[2], FS_OP_SET, handle->rx_pkts);
FS_operate(handle->fs2_handle, handle->line_ids[1], handle->column_ids[3], FS_OP_SET, handle->rx_bytes);
sleep(1);
} }
pthread_exit(NULL); pthread_exit(NULL);
} }
@@ -216,18 +215,18 @@ void hos_expand_fs2(hos_client_handle handle, const char * path, int format, cha
FS_set_para(fs2_handle, STATS_SERVER_PORT, &port, sizeof(port)); FS_set_para(fs2_handle, STATS_SERVER_PORT, &port, sizeof(port));
//line info //line info
snprintf(buff, sizeof(buff), "tx_pkts(MB)"); snprintf(buff, sizeof(buff), "tx_pkts");
line_ids[0] = FS_register(fs2_handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "tx_bytes(MB)");
line_ids[1] = FS_register(fs2_handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "rx_pkts(MB)");
line_ids[2] = FS_register(fs2_handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "rx_bytes(MB)");
line_ids[3] = FS_register(fs2_handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "total");
column_ids[0] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); column_ids[0] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "per-second"); snprintf(buff, sizeof(buff), "tx_bytes");
column_ids[1] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_SPEED, buff); column_ids[1] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "rx_pkts");
column_ids[2] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "rx_bytes");
column_ids[3] = FS_register(fs2_handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "total");
line_ids[0] = FS_register(fs2_handle, FS_STYLE_LINE, FS_CALC_CURRENT, buff);
snprintf(buff, sizeof(buff), "speed/s");
line_ids[1] = FS_register(fs2_handle, FS_STYLE_LINE, FS_CALC_CURRENT, buff);
handle->fs2_handle = fs2_handle; handle->fs2_handle = fs2_handle;
handle->line_ids = line_ids; handle->line_ids = line_ids;
@@ -407,8 +406,8 @@ int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id
handle = (hos_client_handle)hos_info->handle; handle = (hos_client_handle)hos_info->handle;
//field_stat2 record //field_stat2 record
handle->tx_pkts++; handle->rx_pkts++;
handle->tx_bytes += stream_len; handle->rx_bytes += stream_len;
Aws::S3::S3Client& S3Client = *(handle->S3Client); Aws::S3::S3Client& S3Client = *(handle->S3Client);
@@ -465,6 +464,8 @@ int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id
{ {
const std::shared_ptr<Aws::IOStream> input_data = const std::shared_ptr<Aws::IOStream> input_data =
Aws::MakeShared<Aws::StringStream>("buffer mode"); Aws::MakeShared<Aws::StringStream>("buffer mode");
Aws::String buffer (stream, stream_len);
*input_data << buffer;
request.SetBody(input_data); request.SetBody(input_data);
} }
} }
@@ -485,7 +486,7 @@ int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id
Aws::MakeShared<Aws::Client::AsyncCallerContext>(""); Aws::MakeShared<Aws::Client::AsyncCallerContext>("");
sprintf(buf, "%lu %lu", thread_id, fd); sprintf(buf, "%lu %lu", thread_id, fd);
context->SetUUID(buf); context->SetUUID(buf);
ret = S3Client.PutObjectAsync(request, PutObjectAsyncFinished, context); ret = S3Client.PutObjectAsync(request, PutObjectAsyncFinished, context);
//恢复fd 的cache设置 //恢复fd 的cache设置
if (hos_info->mode & APPEND_MODE) if (hos_info->mode & APPEND_MODE)
@@ -494,17 +495,32 @@ int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id
hos_info->cache_rest = hos_info->handle->cache_size; hos_info->cache_rest = hos_info->handle->cache_size;
hos_info->cache_times = hos_info->handle->cache_times; hos_info->cache_times = hos_info->handle->cache_times;
} }
if (ret == HOS_CLIENT_OK) if (ret)
{ {
handle->rx_bytes += handle->cache_size; handle->tx_pkts++;
handle->rx_pkts++; if (hos_info->mode & BUFF_MODE)
{
if (hos_info->mode & APPEND_MODE)
{
handle->tx_bytes += handle->cache_size;
}else
{
handle->tx_bytes += stream_len;
}
}else
{
handle->tx_bytes += buffer.st_size;
}
while (flag == 1) while (flag == 1)
{ {
return hos_write(fd, &stream[hos_info->cache_rest], rest, thread_id); return hos_write(fd, &stream[hos_info->cache_rest], rest, thread_id);
} }
}else
{
return HOS_SEND_FAILED;
} }
return ret; return HOS_CLIENT_OK;
} }
int hos_close_fd(size_t fd, size_t thread_id) int hos_close_fd(size_t fd, size_t thread_id)
@@ -537,6 +553,8 @@ int hos_client_destory(hos_client_handle handle)
{ {
delete_all(&hash_hos_info[i]); delete_all(&hash_hos_info[i]);
} }
handle->fs2_status = HOS_FS2_STOP;
pthread_join(handle->fs2_thread, NULL);
if (handle->fs2_handle) if (handle->fs2_handle)
{ {
FS_stop(&handle->fs2_handle); FS_stop(&handle->fs2_handle);

View File

@@ -115,7 +115,7 @@ void set_cache_times(hos_client_handle handle, size_t cache_times);
* 参数: hos_client_handle handle 非空句柄 * 参数: hos_client_handle handle 非空句柄
* size_t thread_sum append 模式追加次数 * size_t thread_sum append 模式追加次数
*************************************************************************************/ *************************************************************************************/
void set_cache_times(hos_client_handle handle, size_t thread_sum); void set_thread_sum(hos_client_handle handle, size_t thread_sum);
/************************************************************************************* /*************************************************************************************
* 函数名: hos_upload_async * 函数名: hos_upload_async
* 参数: hos_client_handle handle 非空句柄 * 参数: hos_client_handle handle 非空句柄
@@ -162,6 +162,15 @@ int hos_open_fd(hos_client_handle handle, const char *bucket, const char *object
* 返回值 int 成功返回0失败返回hoserros错误码 * 返回值 int 成功返回0失败返回hoserros错误码
*************************************************************************************/ *************************************************************************************/
int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id); int hos_write(size_t fd, const char *stream, size_t stream_len, size_t thread_id);
/*************************************************************************************
* 函数名: hos_expand_fs2
* 参数: hos_client_handle handle 非空句柄
* const char * path log 路径
* int format 0:default; 1: Json
* char *server_ip 服务IP地址
* int port 服务端口
*************************************************************************************/
void hos_expand_fs2(hos_client_handle handle, const char * path, int format, char *server_ip, int port);
/************************************************************************************* /*************************************************************************************
* 函数名: hos_close_fd * 函数名: hos_close_fd
* 参数: size_t fd fd * 参数: size_t fd fd