草庐IT

VictorialMetrics

全部标签

VictorialMetrics源码分析之插入指标数据

为了调试方便,这里我们将VictorialMetrics代码使用Goland打开。每个组件的入口位于app//main.go,比如vmstorage组件的入口位于app/vmstorage/main.go:为了对VM整个流畅分析,我们可以直接在IDE中来启动这些组件。直接在vmstorage入口的main函数上点击Run'gobuildmain.go'即可启动该组件:通过日志记录可以看出vmstorage会在8401端口监听vmselect的连接请求,在8400端口监听vminsert的连接请求,其本身的服务会通过8482端口进行暴露。启动后会在根目录下面创建一个名为vmstorage-dat

VictorialMetrics源码分析之插入指标数据

为了调试方便,这里我们将VictorialMetrics代码使用Goland打开。每个组件的入口位于app//main.go,比如vmstorage组件的入口位于app/vmstorage/main.go:为了对VM整个流畅分析,我们可以直接在IDE中来启动这些组件。直接在vmstorage入口的main函数上点击Run'gobuildmain.go'即可启动该组件:通过日志记录可以看出vmstorage会在8401端口监听vmselect的连接请求,在8400端口监听vminsert的连接请求,其本身的服务会通过8482端口进行暴露。启动后会在根目录下面创建一个名为vmstorage-dat

VictorialMetrics存储原理之索引存储格式

​​前文我们介绍了当插入数据的时候会先去添加索引数据​​,索引构建完成后又是如何去持久化数据的呢?保存的数据又是怎样的格式呢?本节我们将对此进行详细讲解。添加索引数据索引构建完成后会调用 AddItems​ 函数将索引添加到 Table 中去://lib/mergeset/table.go//AddItems添加指定的items到table中去func(tb*Table)AddItems(items[][]byte)error{iferr:=tb.rawItems.addItems(tb,items);err!=nil{returnfmt.Errorf("cannotinsertdataint

VictorialMetrics存储原理之索引存储格式

​​前文我们介绍了当插入数据的时候会先去添加索引数据​​,索引构建完成后又是如何去持久化数据的呢?保存的数据又是怎样的格式呢?本节我们将对此进行详细讲解。添加索引数据索引构建完成后会调用 AddItems​ 函数将索引添加到 Table 中去://lib/mergeset/table.go//AddItems添加指定的items到table中去func(tb*Table)AddItems(items[][]byte)error{iferr:=tb.rawItems.addItems(tb,items);err!=nil{returnfmt.Errorf("cannotinsertdataint