datadog的数据流转

datadog是个典型的类zabbix的agent,其主要数据流转如下:

输入图片说明

数据类型有三种,一个是metric,一个是server_check,一个是event,分别存到指标数据库,做服务状态标记和事件报警用,但这里面有些坑。

    collectd的数据来源有两个,一个是是checksd,一个是system指标。这里的system指标采集格式很恶心,并不是metrci格式,直接给个键值对,导致后端解析一次再丢到数据库,给后端带来压力,这里其实可以将格式封装一样的。

    stastd是个udp server,jmxfetch用java封装了个stasd的client,专门去抓jmx的数据。

    jmxfetch被打成了个jar包,没什么好说的,这里有个坑,安装后权限被修改,或者localhost的域名被篡改了,这里就没数据了。datadog运行的时候会降权运行

    forward是个tornado的转发器,异步的方式,使得foraward本身能做内网代理,这个也是dataog支持内网代理的方式之一,forward最大特点一个是异步,一个是事务,每个包启动个事务,性能强悍。 

    上图缺个gohai,所有系统静态指标,比如cpu核,ip等静态信息都是gohai去获取的,用go写的个agent,被subprocess调用,返回个json,目前13版本的mac已经将这个移除,原因是,,,吃cpu。

    不得不提,datadog对资源占用很小,cpu占用不到1%,内存不到150m。为了不占用系统性能,collectd的一个关键点,特意用循环遍历,不使用并发!

ExoPlayer是一个功能强大的多媒体播放器库,它通过多个组件和线程来实现数据流转。下面是ExoPlayer数据流转的简要介绍: 1. 数据源(DataSource):ExoPlayer抽象了数据源,可以将多种类型的媒体数据源与ExoPlayer交互。数据源可以是本地文件、网络文件、HLS、DASH等。ExoPlayer通过DataSourceFactory创建数据源。 2. 数据加载器(Loaders):ExoPlayer使用Loaders从数据源中读取数据。当一个MediaSource被创建时,ExoPlayer会创建一个或多个Loader来从数据源中读取数据。每个Loader使用一个单独的线程来读取数据。 3. 数据格式化器(Extractors):ExoPlayer使用Extractors将读取的媒体数据转换为可播放的格式,例如MP4、FLV等。Extractors使用单独的线程解析数据。 4. 媒体数据(Media Data):一旦数据被加载和格式化,它就被转换为一系列的媒体数据块。 5. 渲染器(Renderers):渲染器将媒体数据块渲染到设备的屏幕或扬声器上。ExoPlayer包括多个渲染器,可以渲染音频、视频和字幕。 6. 缓存(Cache):ExoPlayer允许缓存媒体数据以提高播放性能。ExoPlayer缓存数据的位置可以是内存或磁盘。 7. 控制器(PlayerControl):ExoPlayer提供了一个控制器,可以控制播放器的状态和行为,例如开始、暂停、停止、跳转等。 以上是ExoPlayer数据流转的简要介绍。ExoPlayer通过多个组件和线程来实现数据流转,以提供高质量的媒体播放体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值