blob: 7dce80076a6ec4ce676364325891aeaefdd2c086 [file] [log] [blame] [view]
# SkyWalking Go APIs
This repository contains the Go files generated from
the sniff protocol([data collect protocol](http://github.com/apache/skywalking-data-collect-protocol), the satellite protocol) and
the [query protocol](http://github.com/apache/skywalking-query-protocol) for convenient use.
You can use the following commands to install this module.
```shell
go get skywalking.apache.org/repo/goapi
```
## Data Sniff Protocol
To use the Go files generated from
the [data collect protocol](http://github.com/apache/skywalking-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,
```go
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](http://github.com/apache/skywalking-query-protocol), use the
import path `skywalking.apache.org/repo/goapi/query`, for example,
```go
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.