Apache SkyWalking API in Golang.

Clone this repo:

Branches

  1. e237d58 Bump up data collect protocol for eBPF ztunnel protocol (#90) by mrproliu · 11 hours ago main
  2. c1d2fb9 build(deps): bump up a bunch of dependencies and update query protocol (#89) by kezhenxu94 · 4 days ago
  3. 6952794 Revert "Bump up data collect protocol for eBPF access log protocol (#87)" (#88) by mrproliu · 6 days ago
  4. 47b8e42 Bump up data collect protocol for eBPF access log protocol (#87) by mrproliu · 8 days ago
  5. 3916480 Bump up data collect protocol for eBPF protocol (#86) by mrproliu · 3 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.