tcf-agent service开发例子

news/2024/9/20 11:39:34

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前几天打算基于tcf实现一个lttng control程序,因此完成了tcf-agent service开发例子

1. 下载tcf-agent:http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git

git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
ssh://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
http://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git

 

2. 创建一个project目录,放在tcf-agent源代码目录下,

例如,拷贝example目录下的daytime项目,然后在上面进行修改。

2.1 首先是项目名字:例如daytime --->hello_service

2.2 修改Makefile文件:TCF_AGENT_DIR=../../agent ---->TCF_AGENT_DIR=../agent

2.3 修改hello_service/tcf/main/services-ext.h

#include <tcf/services/daytime.h>

static void ini_ext_services(Protocol * proto, TCFBroadcastGroup * bcg) {
    ini_daytime_service(proto);   ------> 修改或增加外部services
}

2.4 增加外部的service源码文件,参考daytime.c和daytime.h.

2.4.1 增加command,调用tcf-agent api函数 add_command_handler()

      例如: add_command_handler(proto, DAYTIME, "getTimeOfDay", command_get_time_of_day);

      proto是协议;DAYTIME是service名字,"getTimeOfDay"是命令,command_get_time_of_day是命令处理函数。

3 编译

   在hellow_service目录下:make

   会在hellow_service目录下生成一个obj的目录

4 运行: ./obj/GNU/Linux/i686/Debug/agent

   


转载于:https://my.oschina.net/u/263896/blog/57487


https://dhexx.cn/news/show-408798.html

相关文章

小函数

数组去重 function array_to_heavy(array) {new_array[]for (let index 0; index <array.length; index) { if(new_array.indexOf(array[index])-1) new_array.push(array[index]) }return new_array } 数组最小数 Math.min.apply(Math,…

模拟登陆系统

模拟登陆系统主要练习文件的操作、条件语句、循环等 知识点&#xff1a; 1.str.strip([chars])&#xff1a; 删除字符串前边和后边的所有空格&#xff0c;chars参数可以定制需要删除的字符&#xff0c;可选。 input().strip()可以去除用户输入时带入的空格&#xff0c;避免产生…

大公司作恶史

西雅图IT圈&#xff1a;seattleit【今日作者】栗头蓝一个充满人文情怀的web前端相声演员可口可乐棺材店老板祝你早日康复的时候&#xff0c;他不一定是真心的。可口可乐公司也干过类似的事。他们曾经不遗余力号召大家节约用水。愿望很良好&#xff0c;业界很良心&#xff1f;当…

域内有个病毒,是由X软件生成的,怎么删除?

实例&#xff1a; X软件打开后会生成443322.sps和2233.ppd的2个蠕虫病毒软件&#xff0c;影响软件部分功能的使用&#xff0c;需要把电脑内所有的443322.sps和2233.ppd文件删除&#xff0c;X软件就正常可以使用了。域内有一百多台电脑&#xff0c;也不知道哪台有哪台没有……所…

P2P 应用程序框架

在 P2P 计算领域方面&#xff0c;我们只写了一篇文章&#xff0c;现在已经是转变的时候了。根据 "The practice of peer-to-peer computing: Introduction and history&#xff08;对等计算实践&#xff1a;介绍与历史&#xff09;"的读者反馈意见&#xff0c;我认识…

技术分享连载(四十九)

资源管理 Q1&#xff1a;常用资源类型网格、材质、贴图、动画都是引用或复制引用的方式被使用&#xff0c;对于那些被引用的资源&#xff0c;需要等引用者不再引用了才能使用Resources.UnloadAsset吗&#xff1f;常用的资源几乎都是引用或引用复制的关系&#xff0c;所以我对这…

opecv学习一 安装

OPENCV2.3.1的安装编译整了一上午&#xff0c;总算可以用了。用vs2010 在第一次编译时&#xff0c;很多链接错误&#xff1a;link 2019: 无法找到外部符号。xxx 最后发现是链接库设置问题。 开始设置的是使用静态库&#xff0c;lib目录为E:\opencv\build\x86\vc10\staticlib 这…

退休失败!Python之父加入微软

西雅图IT圈&#xff1a;seattleit【今日作者】Dexter读书巨慢理事会会长近日&#xff0c;科技界泰斗&#xff0c;程序员中的传奇&#xff0c;Python之父 Guido van Rossum 在推特宣布了他将加入微软的消息。此时&#xff0c;距离他去年10月宣布退休过去了几乎刚好一年。退休失败…

Quartz入门

一、Quartz介绍 直接看官网吧&#xff0c;Quartz官网 什么是 Quartz Job Scheduling Library&#xff1f; Quartz是一个功能丰富的开源任务调度库&#xff0c;几乎可以集成在任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划…

Silverlight 5的新功能预测

微软Silverlight开发团队的Justin发表了一篇对Silverlight 5未来功能的预测&#xff0c;其中多数功能都来自UserVoice。 我们根据他的文章&#xff0c;也对Silverlight 5新功能进行简单的预测和分析。 Silverlight 5预测功能1&#xff1a;增加Silverlight更多平台支持&#xff…