Apache SkyWalking API in Golang.

Clone this repo:

Branches

  1. 2d9e541 Bump dependencies to fix security alerts (#101) by 吴晟 Wu Sheng · 11 days ago main
  2. 6b4bf0e build(deps): bump grpc to v1.84.0 and x/net to v0.57.0 (#99) by Nick · 4 weeks ago
  3. 699be54 Add the AI agent conversation query protocol (#98) by 吴晟 Wu Sheng · 10 weeks ago
  4. 5c05525 Add pprof related for satellite protocol (#97) by mrproliu · 6 months ago
  5. 17778a1 Update data collect API for eBPF ALS (#96) by mrproliu · 1 year, 1 month 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.