Apache SkyWalking API in Golang.

Clone this repo:

Branches

  1. 64f9001 Update data collect protocol for eBPF Access Log Protocol (#79) by mrproliu · 12 days ago main
  2. e036c78 Rollback the data collect protocol (#78) by mrproliu · 5 weeks ago
  3. edee327 Sync query protocol for hierarchy (#77) by mrproliu · 4 months ago
  4. 9d4b301 Sync data collect for update access log protocol (#76) by mrproliu · 5 months ago
  5. a7fa70c Adding eBPF Access log data transmit for satellite (#75) by mrproliu · 5 months ago

SkyWalking Go APIs

This repository contains the Go files generated from the sniff protocol(data collect protocol, the satellite protocol) and the query protocol for convenient use.

You can use the following commands to install this module.

go get skywalking.apache.org/repo/goapi

Data Sniff Protocol

To use the Go files generated from the data collect protocol and the satellite protocol, use the import path skywalking.apache.org/repo/goapi/collect and skywalking.apache.org/repo/goapi/satellite, for example,

package main

import (
	"fmt"
	"time"

	v3 "skywalking.apache.org/repo/goapi/collect/event/v3"
	v1 "skywalking.apache.org/repo/goapi/satellite/data/v1"
)

func main() {
	event := &v3.Event{
		Uuid:       "",
		Source:     nil,
		Name:       "",
		Type:       0,
		Message:    "",
		Parameters: nil,
		StartTime:  0,
		EndTime:    0,
	}

	sniffData := &v1.SniffData{
		Timestamp: time.Now().Unix() / 1e6,
		Name:      "Satellite_event",
		Type:      v1.SniffType_EventType,
		Meta:      nil,
		Remote:    true,
		Data: &v1.SniffData_Event{
			Event: event,
		},
	}
	fmt.Printf("+%v", sniffData)
}

Query Protocol

To use the Go files generated from the query protocol, use the import path skywalking.apache.org/repo/goapi/query, for example,

package main

import (
	"fmt"

	"skywalking.apache.org/repo/goapi/query"
)

func main() {
	events := query.Events{
		Events: nil,
		Total:  0,
	}

	fmt.Printf("+%v", events)
}

Development

To update this repo, update the commit sha in the dependencies.sh file, and run make to regenerate the Go files, then commit and open a pull request.