mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-06 00:39:40 -06:00
Merge master -> bh/push-pull-revert
This commit is contained in:
25
README.md
25
README.md
@@ -38,6 +38,9 @@ Valid commands for dolt are
|
||||
```
|
||||
|
||||
## Installation
|
||||
These installation instructions assume that you have Go installed, and that `go` is in your path.
|
||||
|
||||
### From Latest Release
|
||||
Obtain the appropriate archive for your operating system under [releases](https://github.com/liquidata-inc/dolt/releases):
|
||||
|
||||
System|Archive
|
||||
@@ -54,7 +57,27 @@ For Unix systems extract the archive to a directory on in your path, for example
|
||||
$ tar -xf /your/download/location/dolt-darwin-amd64.tar.gz -C /usr/local/bin
|
||||
$ ln -s /usr/local/lib/dolt /usr/local/lib/dolt/bin/dolt
|
||||
```
|
||||
Verify that your installation has succeeded as follows:
|
||||
|
||||
### From Source
|
||||
Alternatively clone this repository and then, assuming you cloned the repository into your home directory:
|
||||
```
|
||||
$ cd ~/dolt/go
|
||||
$ go install ./cmd/dolt
|
||||
[...]
|
||||
$ go install ./cmd/git-dolt
|
||||
[...]
|
||||
$ go install ./cmd/git-dolt-smudge
|
||||
[...]
|
||||
```
|
||||
This will install the requisite binaries at `$GOROOT/bin`, which defaults to `$HOME/go`, thus you should see something like (unless you set `$GOROOT` to something else):
|
||||
```
|
||||
$ ls -ltr $HOME/go/bin/
|
||||
dolt git-dolt git-dolt-smudge
|
||||
```
|
||||
Ensure that `$GOROOT/bin` is on your path, and then proceed.
|
||||
|
||||
### Verify
|
||||
Whichever method you used, verify that your installation has succeeded as follows:
|
||||
```
|
||||
$ dolt
|
||||
Valid commands for dolt are
|
||||
|
||||
@@ -22,20 +22,21 @@ import (
|
||||
"path/filepath"
|
||||
"sync"
|
||||
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/strhelp"
|
||||
"github.com/liquidata-inc/dolt/go/store/datas"
|
||||
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/cli"
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/errhand"
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/dbfactory"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/doltdb"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env/actions"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/ref"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/remotestorage"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/events"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/argparser"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/earl"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/filesys"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/strhelp"
|
||||
"github.com/liquidata-inc/dolt/go/store/datas"
|
||||
"github.com/liquidata-inc/dolt/go/store/types"
|
||||
)
|
||||
|
||||
@@ -94,6 +95,11 @@ func Clone(ctx context.Context, commandStr string, args []string, dEnv *env.Dolt
|
||||
if verr == nil {
|
||||
verr = cloneRemote(ctx, srcDB, remoteName, branch, dEnv)
|
||||
|
||||
if verr == nil {
|
||||
evt := events.GetEventFromContext(ctx)
|
||||
evt.SetAttribute(eventsapi.AttributeID_ACTIVE_REMOTE_URL, remoteUrl)
|
||||
}
|
||||
|
||||
// Make best effort to delete the directory we created.
|
||||
if verr != nil {
|
||||
_ = os.Chdir("../")
|
||||
|
||||
@@ -19,10 +19,12 @@ import (
|
||||
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/cli"
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/errhand"
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/doltdb"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env/actions"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/ref"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/events"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/argparser"
|
||||
)
|
||||
|
||||
@@ -157,6 +159,9 @@ func fetchRefSpecs(ctx context.Context, dEnv *env.DoltEnv, rem env.Remote, refSp
|
||||
}
|
||||
|
||||
func fetchRemoteBranch(ctx context.Context, dEnv *env.DoltEnv, rem env.Remote, srcDB, destDB *doltdb.DoltDB, srcRef, destRef ref.DoltRef) errhand.VerboseError {
|
||||
evt := events.GetEventFromContext(ctx)
|
||||
evt.SetAttribute(eventsapi.AttributeID_ACTIVE_REMOTE_URL, rem.Url)
|
||||
|
||||
cs, _ := doltdb.NewCommitSpec("HEAD", srcRef.String())
|
||||
cm, err := srcDB.Resolve(ctx, cs)
|
||||
|
||||
|
||||
@@ -24,11 +24,13 @@ import (
|
||||
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/cli"
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/errhand"
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/doltdb"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env/actions"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/ref"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/remotestorage"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/events"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/argparser"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/earl"
|
||||
"github.com/liquidata-inc/dolt/go/store/datas"
|
||||
@@ -231,6 +233,9 @@ func deleteRemoteBranch(ctx context.Context, toDelete, remoteRef ref.DoltRef, lo
|
||||
}
|
||||
|
||||
func pushToRemoteBranch(ctx context.Context, dEnv *env.DoltEnv, srcRef, destRef, remoteRef ref.DoltRef, localDB, remoteDB *doltdb.DoltDB, remote env.Remote) errhand.VerboseError {
|
||||
evt := events.GetEventFromContext(ctx)
|
||||
evt.SetAttribute(eventsapi.AttributeID_ACTIVE_REMOTE_URL, remote.Url)
|
||||
|
||||
cs, _ := doltdb.NewCommitSpec("HEAD", srcRef.GetPath())
|
||||
cm, err := localDB.Resolve(ctx, cs)
|
||||
|
||||
|
||||
@@ -16,6 +16,9 @@ package commands
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/fatih/color"
|
||||
@@ -42,7 +45,9 @@ func SendMetrics(ctx context.Context, commandStr string, args []string, dEnv *en
|
||||
help, _ := cli.HelpAndUsagePrinters(commandStr, sendMetricsShortDec, "", []string{}, ap)
|
||||
apr := cli.ParseArgs(ap, args, help)
|
||||
|
||||
disabled, err := events.AreMetricsDisabled(dEnv)
|
||||
metricsDisabled := dEnv.Config.GetStringOrDefault(env.MetricsDisabled, "false")
|
||||
|
||||
disabled, err := strconv.ParseBool(*metricsDisabled)
|
||||
if err != nil {
|
||||
// log.Print(err)
|
||||
return 1
|
||||
@@ -68,9 +73,11 @@ func SendMetrics(ctx context.Context, commandStr string, args []string, dEnv *en
|
||||
var flusher events.Flusher
|
||||
|
||||
if apr.Contains(outputFlag) {
|
||||
flusher = events.NewIOFlusher(dEnv.FS, root, dolt, dEnv)
|
||||
flusher = events.NewIOFlusher(dEnv.FS, root, dolt)
|
||||
} else {
|
||||
flusher = events.NewGrpcEventFlusher(dEnv.FS, root, dolt, dEnv)
|
||||
grpcEmitter := getGRPCEmitter(dEnv)
|
||||
|
||||
flusher = events.NewGrpcEventFlusher(dEnv.FS, root, dolt, grpcEmitter)
|
||||
}
|
||||
|
||||
err = flusher.Flush(ctx)
|
||||
@@ -88,3 +95,28 @@ func SendMetrics(ctx context.Context, commandStr string, args []string, dEnv *en
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
// getGRPCEmitter gets the connection to the events grpc service
|
||||
func getGRPCEmitter(dEnv *env.DoltEnv) *events.GrpcEmitter {
|
||||
host := dEnv.Config.GetStringOrDefault(env.MetricsHost, env.DefaultMetricsHost)
|
||||
portStr := dEnv.Config.GetStringOrDefault(env.MetricsPort, env.DefaultMetricsPort)
|
||||
insecureStr := dEnv.Config.GetStringOrDefault(env.MetricsInsecure, "false")
|
||||
|
||||
port, err := strconv.ParseUint(*portStr, 10, 16)
|
||||
|
||||
if err != nil {
|
||||
log.Println(color.YellowString("The config value of '%s' is '%s' which is not a valid port.", env.MetricsPort, *portStr))
|
||||
return nil
|
||||
}
|
||||
|
||||
insecure, err := strconv.ParseBool(*insecureStr)
|
||||
|
||||
if err != nil {
|
||||
log.Println(color.YellowString("The config value of '%s' is '%s' which is not a valid true/false value", env.MetricsInsecure, *insecureStr))
|
||||
}
|
||||
|
||||
hostAndPort := fmt.Sprintf("%s:%d", *host, port)
|
||||
conn, _ := dEnv.GrpcConnWithCreds(hostAndPort, insecure, nil)
|
||||
|
||||
return events.NewGrpcEmitter(conn)
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
|
||||
"github.com/fatih/color"
|
||||
"github.com/pkg/profile"
|
||||
@@ -30,6 +31,7 @@ import (
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/commands/sqlserver"
|
||||
"github.com/liquidata-inc/dolt/go/cmd/dolt/commands/tblcmds"
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/dbfactory"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/doltdb"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/events"
|
||||
@@ -131,13 +133,21 @@ func runMain() int {
|
||||
|
||||
dEnv := env.Load(context.TODO(), env.GetCurrentUserHomeDir, filesys.LocalFS, doltdb.LocalDirDoltDB)
|
||||
|
||||
emitter := events.NewFileEmitter()
|
||||
root, err := env.GetCurrentUserHomeDir()
|
||||
|
||||
if err != nil {
|
||||
return 1
|
||||
}
|
||||
|
||||
emitter := events.NewFileEmitter(root, dbfactory.DoltDir)
|
||||
|
||||
defer func() {
|
||||
ces := events.GlobalCollector.Close()
|
||||
// events.WriterEmitter{cli.CliOut}.LogEvents(Version, ces)
|
||||
|
||||
disabled, err := events.AreMetricsDisabled(dEnv)
|
||||
metricsDisabled := dEnv.Config.GetStringOrDefault(env.MetricsDisabled, "false")
|
||||
|
||||
disabled, err := strconv.ParseBool(*metricsDisabled)
|
||||
if err != nil {
|
||||
// log.Print(err)
|
||||
return
|
||||
|
||||
@@ -61,43 +61,51 @@ func (Platform) EnumDescriptor() ([]byte, []int) {
|
||||
type ClientEventType int32
|
||||
|
||||
const (
|
||||
ClientEventType_TYPE_UNSPECIFIED ClientEventType = 0
|
||||
ClientEventType_INIT ClientEventType = 1
|
||||
ClientEventType_STATUS ClientEventType = 2
|
||||
ClientEventType_ADD ClientEventType = 3
|
||||
ClientEventType_RESET ClientEventType = 4
|
||||
ClientEventType_COMMIT ClientEventType = 5
|
||||
ClientEventType_SQL ClientEventType = 6
|
||||
ClientEventType_SQL_SERVER ClientEventType = 7
|
||||
ClientEventType_LOG ClientEventType = 8
|
||||
ClientEventType_DIFF ClientEventType = 9
|
||||
ClientEventType_MERGE ClientEventType = 10
|
||||
ClientEventType_BRANCH ClientEventType = 11
|
||||
ClientEventType_CHECKOUT ClientEventType = 12
|
||||
ClientEventType_REMOTE ClientEventType = 13
|
||||
ClientEventType_PUSH ClientEventType = 14
|
||||
ClientEventType_PULL ClientEventType = 15
|
||||
ClientEventType_FETCH ClientEventType = 16
|
||||
ClientEventType_CLONE ClientEventType = 17
|
||||
ClientEventType_LOGIN ClientEventType = 18
|
||||
ClientEventType_VERSION ClientEventType = 19
|
||||
ClientEventType_CONFIG ClientEventType = 20
|
||||
ClientEventType_LS ClientEventType = 21
|
||||
ClientEventType_SCHEMA ClientEventType = 22
|
||||
ClientEventType_TABLE_IMPORT ClientEventType = 23
|
||||
ClientEventType_TABLE_EXPORT ClientEventType = 24
|
||||
ClientEventType_TABLE_CREATE ClientEventType = 25
|
||||
ClientEventType_TABLE_RM ClientEventType = 26
|
||||
ClientEventType_TABLE_MV ClientEventType = 27
|
||||
ClientEventType_TABLE_CP ClientEventType = 28
|
||||
ClientEventType_TABLE_SELECT ClientEventType = 29
|
||||
ClientEventType_TABLE_PUT_ROW ClientEventType = 30
|
||||
ClientEventType_TABLE_RM_ROW ClientEventType = 31
|
||||
ClientEventType_CREDS_NEW ClientEventType = 32
|
||||
ClientEventType_CREDS_RM ClientEventType = 33
|
||||
ClientEventType_CREDS_LS ClientEventType = 34
|
||||
ClientEventType_CONF_CAT ClientEventType = 35
|
||||
ClientEventType_CONF_RESOLVE ClientEventType = 36
|
||||
ClientEventType_TYPE_UNSPECIFIED ClientEventType = 0
|
||||
ClientEventType_INIT ClientEventType = 1
|
||||
ClientEventType_STATUS ClientEventType = 2
|
||||
ClientEventType_ADD ClientEventType = 3
|
||||
ClientEventType_RESET ClientEventType = 4
|
||||
ClientEventType_COMMIT ClientEventType = 5
|
||||
ClientEventType_SQL ClientEventType = 6
|
||||
ClientEventType_SQL_SERVER ClientEventType = 7
|
||||
ClientEventType_LOG ClientEventType = 8
|
||||
ClientEventType_DIFF ClientEventType = 9
|
||||
ClientEventType_MERGE ClientEventType = 10
|
||||
ClientEventType_BRANCH ClientEventType = 11
|
||||
ClientEventType_CHECKOUT ClientEventType = 12
|
||||
ClientEventType_REMOTE ClientEventType = 13
|
||||
ClientEventType_PUSH ClientEventType = 14
|
||||
ClientEventType_PULL ClientEventType = 15
|
||||
ClientEventType_FETCH ClientEventType = 16
|
||||
ClientEventType_CLONE ClientEventType = 17
|
||||
ClientEventType_LOGIN ClientEventType = 18
|
||||
ClientEventType_VERSION ClientEventType = 19
|
||||
ClientEventType_CONFIG ClientEventType = 20
|
||||
ClientEventType_LS ClientEventType = 21
|
||||
ClientEventType_SCHEMA ClientEventType = 22
|
||||
ClientEventType_TABLE_IMPORT ClientEventType = 23
|
||||
ClientEventType_TABLE_EXPORT ClientEventType = 24
|
||||
ClientEventType_TABLE_CREATE ClientEventType = 25
|
||||
ClientEventType_TABLE_RM ClientEventType = 26
|
||||
ClientEventType_TABLE_MV ClientEventType = 27
|
||||
ClientEventType_TABLE_CP ClientEventType = 28
|
||||
ClientEventType_TABLE_SELECT ClientEventType = 29
|
||||
ClientEventType_TABLE_PUT_ROW ClientEventType = 30
|
||||
ClientEventType_TABLE_RM_ROW ClientEventType = 31
|
||||
ClientEventType_CREDS_NEW ClientEventType = 32
|
||||
ClientEventType_CREDS_RM ClientEventType = 33
|
||||
ClientEventType_CREDS_LS ClientEventType = 34
|
||||
ClientEventType_CONF_CAT ClientEventType = 35
|
||||
ClientEventType_CONF_RESOLVE ClientEventType = 36
|
||||
ClientEventType_REMOTEAPI_GET_REPO_METADATA ClientEventType = 37
|
||||
ClientEventType_REMOTEAPI_HAS_CHUNKS ClientEventType = 38
|
||||
ClientEventType_REMOTEAPI_GET_DOWNLOAD_LOCATIONS ClientEventType = 39
|
||||
ClientEventType_REMOTEAPI_GET_UPLOAD_LOCATIONS ClientEventType = 40
|
||||
ClientEventType_REMOTEAPI_REBASE ClientEventType = 41
|
||||
ClientEventType_REMOTEAPI_ROOT ClientEventType = 42
|
||||
ClientEventType_REMOTEAPI_COMMIT ClientEventType = 43
|
||||
ClientEventType_REMOTEAPI_LIST_TABLE_FILES ClientEventType = 44
|
||||
)
|
||||
|
||||
var ClientEventType_name = map[int32]string{
|
||||
@@ -138,46 +146,62 @@ var ClientEventType_name = map[int32]string{
|
||||
34: "CREDS_LS",
|
||||
35: "CONF_CAT",
|
||||
36: "CONF_RESOLVE",
|
||||
37: "REMOTEAPI_GET_REPO_METADATA",
|
||||
38: "REMOTEAPI_HAS_CHUNKS",
|
||||
39: "REMOTEAPI_GET_DOWNLOAD_LOCATIONS",
|
||||
40: "REMOTEAPI_GET_UPLOAD_LOCATIONS",
|
||||
41: "REMOTEAPI_REBASE",
|
||||
42: "REMOTEAPI_ROOT",
|
||||
43: "REMOTEAPI_COMMIT",
|
||||
44: "REMOTEAPI_LIST_TABLE_FILES",
|
||||
}
|
||||
|
||||
var ClientEventType_value = map[string]int32{
|
||||
"TYPE_UNSPECIFIED": 0,
|
||||
"INIT": 1,
|
||||
"STATUS": 2,
|
||||
"ADD": 3,
|
||||
"RESET": 4,
|
||||
"COMMIT": 5,
|
||||
"SQL": 6,
|
||||
"SQL_SERVER": 7,
|
||||
"LOG": 8,
|
||||
"DIFF": 9,
|
||||
"MERGE": 10,
|
||||
"BRANCH": 11,
|
||||
"CHECKOUT": 12,
|
||||
"REMOTE": 13,
|
||||
"PUSH": 14,
|
||||
"PULL": 15,
|
||||
"FETCH": 16,
|
||||
"CLONE": 17,
|
||||
"LOGIN": 18,
|
||||
"VERSION": 19,
|
||||
"CONFIG": 20,
|
||||
"LS": 21,
|
||||
"SCHEMA": 22,
|
||||
"TABLE_IMPORT": 23,
|
||||
"TABLE_EXPORT": 24,
|
||||
"TABLE_CREATE": 25,
|
||||
"TABLE_RM": 26,
|
||||
"TABLE_MV": 27,
|
||||
"TABLE_CP": 28,
|
||||
"TABLE_SELECT": 29,
|
||||
"TABLE_PUT_ROW": 30,
|
||||
"TABLE_RM_ROW": 31,
|
||||
"CREDS_NEW": 32,
|
||||
"CREDS_RM": 33,
|
||||
"CREDS_LS": 34,
|
||||
"CONF_CAT": 35,
|
||||
"CONF_RESOLVE": 36,
|
||||
"TYPE_UNSPECIFIED": 0,
|
||||
"INIT": 1,
|
||||
"STATUS": 2,
|
||||
"ADD": 3,
|
||||
"RESET": 4,
|
||||
"COMMIT": 5,
|
||||
"SQL": 6,
|
||||
"SQL_SERVER": 7,
|
||||
"LOG": 8,
|
||||
"DIFF": 9,
|
||||
"MERGE": 10,
|
||||
"BRANCH": 11,
|
||||
"CHECKOUT": 12,
|
||||
"REMOTE": 13,
|
||||
"PUSH": 14,
|
||||
"PULL": 15,
|
||||
"FETCH": 16,
|
||||
"CLONE": 17,
|
||||
"LOGIN": 18,
|
||||
"VERSION": 19,
|
||||
"CONFIG": 20,
|
||||
"LS": 21,
|
||||
"SCHEMA": 22,
|
||||
"TABLE_IMPORT": 23,
|
||||
"TABLE_EXPORT": 24,
|
||||
"TABLE_CREATE": 25,
|
||||
"TABLE_RM": 26,
|
||||
"TABLE_MV": 27,
|
||||
"TABLE_CP": 28,
|
||||
"TABLE_SELECT": 29,
|
||||
"TABLE_PUT_ROW": 30,
|
||||
"TABLE_RM_ROW": 31,
|
||||
"CREDS_NEW": 32,
|
||||
"CREDS_RM": 33,
|
||||
"CREDS_LS": 34,
|
||||
"CONF_CAT": 35,
|
||||
"CONF_RESOLVE": 36,
|
||||
"REMOTEAPI_GET_REPO_METADATA": 37,
|
||||
"REMOTEAPI_HAS_CHUNKS": 38,
|
||||
"REMOTEAPI_GET_DOWNLOAD_LOCATIONS": 39,
|
||||
"REMOTEAPI_GET_UPLOAD_LOCATIONS": 40,
|
||||
"REMOTEAPI_REBASE": 41,
|
||||
"REMOTEAPI_ROOT": 42,
|
||||
"REMOTEAPI_COMMIT": 43,
|
||||
"REMOTEAPI_LIST_TABLE_FILES": 44,
|
||||
}
|
||||
|
||||
func (x ClientEventType) String() string {
|
||||
@@ -194,18 +218,21 @@ const (
|
||||
MetricID_METRIC_UNSPECIFIED MetricID = 0
|
||||
MetricID_BYTES_DOWNLOADED MetricID = 1
|
||||
MetricID_DOWNLOAD_MS_ELAPSED MetricID = 2
|
||||
MetricID_REMOTEAPI_RPC_ERROR MetricID = 3
|
||||
)
|
||||
|
||||
var MetricID_name = map[int32]string{
|
||||
0: "METRIC_UNSPECIFIED",
|
||||
1: "BYTES_DOWNLOADED",
|
||||
2: "DOWNLOAD_MS_ELAPSED",
|
||||
3: "REMOTEAPI_RPC_ERROR",
|
||||
}
|
||||
|
||||
var MetricID_value = map[string]int32{
|
||||
"METRIC_UNSPECIFIED": 0,
|
||||
"BYTES_DOWNLOADED": 1,
|
||||
"DOWNLOAD_MS_ELAPSED": 2,
|
||||
"REMOTEAPI_RPC_ERROR": 3,
|
||||
}
|
||||
|
||||
func (x MetricID) String() string {
|
||||
@@ -220,17 +247,17 @@ type AttributeID int32
|
||||
|
||||
const (
|
||||
AttributeID_ATTRIBUTE_UNSPECIFIED AttributeID = 0
|
||||
AttributeID_LOCAL_REMOTE_URLS AttributeID = 1
|
||||
AttributeID_ACTIVE_REMOTE_URL AttributeID = 1
|
||||
)
|
||||
|
||||
var AttributeID_name = map[int32]string{
|
||||
0: "ATTRIBUTE_UNSPECIFIED",
|
||||
1: "LOCAL_REMOTE_URLS",
|
||||
1: "ACTIVE_REMOTE_URL",
|
||||
}
|
||||
|
||||
var AttributeID_value = map[string]int32{
|
||||
"ATTRIBUTE_UNSPECIFIED": 0,
|
||||
"LOCAL_REMOTE_URLS": 1,
|
||||
"ACTIVE_REMOTE_URL": 1,
|
||||
}
|
||||
|
||||
func (x AttributeID) String() string {
|
||||
@@ -574,70 +601,78 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_2059ca7f76f8dca6 = []byte{
|
||||
// 1006 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xe2, 0x46,
|
||||
0x14, 0x5e, 0x20, 0xfc, 0x1d, 0xb2, 0xd9, 0x93, 0x09, 0x9b, 0x25, 0x69, 0x77, 0x37, 0xa5, 0xbd,
|
||||
0x88, 0x22, 0x05, 0x14, 0xa2, 0xb6, 0xaa, 0xaa, 0xaa, 0x32, 0xf6, 0x10, 0xac, 0xfa, 0x87, 0x8c,
|
||||
0x87, 0xb0, 0xdb, 0x1b, 0xcb, 0x01, 0x87, 0x58, 0x05, 0x9b, 0xc5, 0x26, 0xea, 0x3e, 0x43, 0x9f,
|
||||
0xa9, 0xef, 0xd4, 0x17, 0x68, 0x55, 0x79, 0x8c, 0x01, 0xd1, 0x0b, 0x9a, 0x3b, 0x7f, 0xe7, 0x9c,
|
||||
0xef, 0x9b, 0xf3, 0x37, 0x1e, 0xb8, 0x1e, 0x05, 0x93, 0xa8, 0x19, 0xba, 0xf3, 0x27, 0x6f, 0xe8,
|
||||
0x86, 0x4d, 0xf7, 0xc9, 0xf5, 0xa3, 0xd0, 0x99, 0x79, 0xcd, 0xa7, 0x2b, 0x67, 0x32, 0x7b, 0x74,
|
||||
0xae, 0x9a, 0xc3, 0x89, 0xe7, 0xfa, 0x91, 0x2d, 0x3c, 0x8d, 0xd9, 0x3c, 0x88, 0x02, 0x72, 0x16,
|
||||
0x93, 0x1a, 0x29, 0xa9, 0xb1, 0x22, 0x35, 0x52, 0xd2, 0xe9, 0xbb, 0x71, 0x10, 0x8c, 0x27, 0x6e,
|
||||
0x53, 0xc4, 0xdf, 0x2f, 0x1e, 0x9a, 0xa3, 0xc5, 0xdc, 0x89, 0xbc, 0xc0, 0x4f, 0x14, 0x4e, 0xdf,
|
||||
0x6f, 0xfb, 0x23, 0x6f, 0xea, 0x86, 0x91, 0x33, 0x9d, 0x25, 0x01, 0xf5, 0xdf, 0xa0, 0x2a, 0x8b,
|
||||
0x83, 0x69, 0x2c, 0x2e, 0x45, 0xd1, 0xdc, 0xbb, 0x5f, 0x44, 0x2e, 0xf9, 0x09, 0xb2, 0xde, 0xa8,
|
||||
0x96, 0x39, 0xcb, 0x9c, 0x1f, 0xb4, 0x2e, 0x1b, 0xbb, 0xf2, 0x68, 0xac, 0x88, 0xaa, 0xc2, 0xb2,
|
||||
0xde, 0x88, 0x54, 0x21, 0xff, 0xe4, 0x4c, 0x16, 0x6e, 0x2d, 0x7b, 0x96, 0x39, 0x2f, 0xb3, 0x04,
|
||||
0xd4, 0xff, 0xcc, 0xc0, 0xe1, 0xc6, 0x69, 0xba, 0x1b, 0xcd, 0xbd, 0x21, 0xf9, 0x1e, 0x4a, 0x69,
|
||||
0xd6, 0xe2, 0xc0, 0x4a, 0xeb, 0xa4, 0x91, 0xa4, 0xdd, 0x48, 0xd3, 0x6e, 0x28, 0xcb, 0x80, 0xee,
|
||||
0x0b, 0xb6, 0x0a, 0x26, 0xc7, 0x90, 0x1f, 0x06, 0x0b, 0x3f, 0x12, 0x87, 0xe4, 0xbb, 0x2f, 0x58,
|
||||
0x02, 0xc9, 0x0d, 0x94, 0xa7, 0x42, 0xda, 0xf6, 0x46, 0xb5, 0x91, 0x28, 0xe1, 0x62, 0x77, 0x09,
|
||||
0x49, 0x36, 0xaa, 0xc2, 0x4a, 0x09, 0x59, 0x1d, 0xb5, 0x0f, 0x60, 0x7f, 0x29, 0x14, 0xf8, 0x6e,
|
||||
0xf0, 0x50, 0xff, 0x3b, 0x0b, 0x95, 0x8d, 0xfc, 0xc9, 0xc1, 0xaa, 0x49, 0x65, 0x51, 0xf5, 0x0f,
|
||||
0x00, 0x61, 0xe4, 0xcc, 0x23, 0x3b, 0xee, 0xb2, 0xc8, 0xaa, 0xd2, 0x3a, 0xfd, 0x4f, 0x2d, 0x3c,
|
||||
0x1d, 0x01, 0x2b, 0x8b, 0xe8, 0x18, 0x93, 0x6f, 0xa1, 0xe4, 0xfa, 0xa3, 0x84, 0x98, 0xdb, 0x49,
|
||||
0x2c, 0xba, 0xfe, 0x48, 0xd0, 0x28, 0xec, 0x45, 0x9f, 0x67, 0x6e, 0x6d, 0x4f, 0x54, 0x79, 0xb5,
|
||||
0xbb, 0xca, 0x8d, 0xf4, 0xf9, 0xe7, 0x99, 0xcb, 0x04, 0x9d, 0xdc, 0x01, 0x38, 0xe9, 0x04, 0xc3,
|
||||
0x5a, 0xfe, 0x2c, 0x77, 0x5e, 0x69, 0x7d, 0xf7, 0x2c, 0xb1, 0xd5, 0x02, 0xb0, 0x0d, 0x25, 0xa2,
|
||||
0x43, 0x31, 0x69, 0x60, 0x58, 0x2b, 0x08, 0xd1, 0xeb, 0x67, 0x89, 0x26, 0x23, 0x61, 0xa9, 0x46,
|
||||
0xfd, 0xaf, 0x0c, 0xa0, 0x16, 0x8c, 0x85, 0x2f, 0x64, 0xee, 0xa7, 0x85, 0x1b, 0x46, 0xe4, 0x2d,
|
||||
0xc0, 0xd4, 0x19, 0x3e, 0x7a, 0xbe, 0x6b, 0xaf, 0x86, 0x51, 0x5e, 0x5a, 0x54, 0xb1, 0x89, 0xee,
|
||||
0xef, 0xd1, 0xdc, 0x49, 0x37, 0x51, 0x00, 0x52, 0x83, 0xe2, 0x93, 0x3b, 0x0f, 0xe3, 0x95, 0xcb,
|
||||
0x09, 0x7b, 0x0a, 0x49, 0x07, 0x4a, 0xb3, 0x89, 0x13, 0x3d, 0x04, 0xf3, 0xe9, 0xb2, 0xab, 0xff,
|
||||
0x63, 0x77, 0x7a, 0x4b, 0x06, 0x5b, 0x71, 0x09, 0x85, 0x42, 0x12, 0xb8, 0x6c, 0xe7, 0xe5, 0xb3,
|
||||
0x2a, 0x67, 0x4b, 0x72, 0xfd, 0x08, 0x0e, 0x37, 0x2a, 0x0e, 0x67, 0x81, 0x1f, 0xba, 0x17, 0x5d,
|
||||
0x28, 0xa5, 0x27, 0x92, 0x1a, 0x54, 0x7b, 0x9a, 0xc4, 0x3b, 0x26, 0xd3, 0xed, 0xbe, 0x61, 0xf5,
|
||||
0xa8, 0xac, 0x76, 0x54, 0xaa, 0xe0, 0x0b, 0x52, 0x86, 0xbc, 0xa6, 0x1a, 0xfd, 0x0f, 0x98, 0x21,
|
||||
0x15, 0x28, 0x0e, 0x54, 0x43, 0x31, 0x07, 0x16, 0x66, 0x09, 0x40, 0x41, 0x91, 0xd8, 0x40, 0x35,
|
||||
0x30, 0x77, 0xf1, 0x4f, 0x0e, 0x5e, 0x6d, 0xad, 0x04, 0xa9, 0x02, 0xf2, 0x8f, 0x3d, 0xba, 0xa5,
|
||||
0x56, 0x82, 0x3d, 0xd5, 0x50, 0x39, 0x66, 0x62, 0xbe, 0xc5, 0x25, 0xde, 0x8f, 0xb5, 0x8a, 0x90,
|
||||
0x93, 0x14, 0x05, 0x73, 0xf1, 0x61, 0x8c, 0x5a, 0x94, 0xe3, 0x5e, 0xec, 0x97, 0x4d, 0x5d, 0x57,
|
||||
0x39, 0xe6, 0x63, 0xbf, 0x75, 0xab, 0x61, 0x81, 0x1c, 0x00, 0x58, 0xb7, 0x9a, 0x6d, 0x51, 0x76,
|
||||
0x47, 0x19, 0x16, 0x63, 0x87, 0x66, 0xde, 0x60, 0x29, 0xd6, 0x55, 0xd4, 0x4e, 0x07, 0xcb, 0xb1,
|
||||
0x84, 0x4e, 0xd9, 0x0d, 0x45, 0x88, 0x25, 0xda, 0x4c, 0x32, 0xe4, 0x2e, 0x56, 0xc8, 0x3e, 0x94,
|
||||
0xe4, 0x2e, 0x95, 0x7f, 0x31, 0xfb, 0x1c, 0xf7, 0x63, 0x0f, 0xa3, 0xba, 0xc9, 0x29, 0xbe, 0x8c,
|
||||
0xa9, 0xbd, 0xbe, 0xd5, 0xc5, 0x83, 0xe4, 0x4b, 0xd3, 0xf0, 0x55, 0x2c, 0xd2, 0xa1, 0x5c, 0xee,
|
||||
0x22, 0xc6, 0x9f, 0xb2, 0x66, 0x1a, 0x14, 0x0f, 0x45, 0x2b, 0xcc, 0x1b, 0xd5, 0x40, 0x12, 0xb7,
|
||||
0xe2, 0x8e, 0x32, 0x4b, 0x35, 0x0d, 0x3c, 0x4a, 0x52, 0x35, 0x3a, 0xea, 0x0d, 0x56, 0x49, 0x01,
|
||||
0xb2, 0x9a, 0x85, 0xaf, 0x45, 0x79, 0x72, 0x97, 0xea, 0x12, 0x1e, 0x13, 0x84, 0x7d, 0x2e, 0xb5,
|
||||
0x35, 0x6a, 0xab, 0x7a, 0xcf, 0x64, 0x1c, 0xdf, 0xac, 0x2d, 0xf4, 0x83, 0xb0, 0xd4, 0xd6, 0x16,
|
||||
0x99, 0x51, 0x89, 0x53, 0x3c, 0x89, 0x33, 0x4e, 0x2c, 0x4c, 0xc7, 0xd3, 0x35, 0xd2, 0xef, 0xf0,
|
||||
0x8b, 0x35, 0x92, 0x7b, 0xf8, 0xe5, 0x9a, 0x6b, 0x51, 0x8d, 0xca, 0x1c, 0xdf, 0x92, 0x43, 0x78,
|
||||
0x99, 0x58, 0x7a, 0x7d, 0x6e, 0x33, 0x73, 0x80, 0xef, 0xd6, 0x41, 0x4c, 0x17, 0x96, 0xf7, 0xe4,
|
||||
0x25, 0x94, 0x65, 0x46, 0x15, 0xcb, 0x36, 0xe8, 0x00, 0xcf, 0x44, 0x87, 0x04, 0x64, 0x3a, 0x7e,
|
||||
0xb5, 0x46, 0x9a, 0x85, 0x75, 0x81, 0x4c, 0xa3, 0x63, 0xcb, 0x12, 0xc7, 0xaf, 0x63, 0x29, 0x81,
|
||||
0x18, 0xb5, 0x4c, 0xed, 0x8e, 0xe2, 0x37, 0x17, 0xb7, 0x50, 0x4a, 0x7f, 0x7c, 0xe4, 0x18, 0x88,
|
||||
0x4e, 0x39, 0x53, 0xe5, 0xad, 0xd1, 0x57, 0x01, 0xdb, 0x1f, 0x39, 0xb5, 0x6c, 0xc5, 0x1c, 0x18,
|
||||
0x9a, 0x29, 0x29, 0x54, 0xc1, 0x0c, 0x79, 0x03, 0x47, 0x29, 0xb6, 0x75, 0xcb, 0xa6, 0x9a, 0xd4,
|
||||
0xb3, 0xa8, 0x82, 0xd9, 0x8b, 0x9f, 0xa1, 0xb2, 0xf1, 0x1c, 0x90, 0x13, 0x78, 0x2d, 0x71, 0xce,
|
||||
0xd4, 0x76, 0x9f, 0x6f, 0xef, 0xd4, 0x6b, 0x38, 0xd4, 0x4c, 0x59, 0xd2, 0xec, 0x64, 0xa4, 0x76,
|
||||
0x9f, 0x69, 0x16, 0x66, 0x5a, 0x7f, 0x64, 0xe0, 0x68, 0x63, 0x29, 0x43, 0x2b, 0xb9, 0x33, 0x24,
|
||||
0x82, 0xf2, 0xea, 0x2e, 0x90, 0xd6, 0xee, 0xfb, 0xb4, 0xfd, 0xab, 0x38, 0xbd, 0x7e, 0x16, 0x27,
|
||||
0xb9, 0x6c, 0xed, 0xc1, 0xaf, 0xfd, 0xb1, 0x17, 0x3d, 0x2e, 0xee, 0x1b, 0xc3, 0x60, 0xda, 0x9c,
|
||||
0x78, 0x9f, 0x16, 0xde, 0xc8, 0x89, 0x9c, 0x4b, 0xcf, 0x1f, 0x36, 0xc5, 0xa3, 0x3e, 0x0e, 0x9a,
|
||||
0x63, 0xd7, 0x4f, 0x9e, 0xd8, 0xe6, 0xae, 0x67, 0xfe, 0xc7, 0x95, 0xe9, 0xbe, 0x20, 0x18, 0xd7,
|
||||
0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xef, 0xb5, 0x5b, 0x1b, 0x08, 0x00, 0x00,
|
||||
// 1127 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xef, 0x72, 0xdb, 0x44,
|
||||
0x10, 0xaf, 0xed, 0x38, 0xb1, 0xd7, 0x69, 0xba, 0xb9, 0xa4, 0xad, 0x9b, 0xd2, 0x34, 0x98, 0x02,
|
||||
0x21, 0x50, 0x7b, 0x9a, 0x0c, 0x30, 0x0c, 0xc3, 0x30, 0xb2, 0x74, 0x8e, 0x35, 0xd5, 0xbf, 0xde,
|
||||
0x9d, 0xe3, 0x96, 0x2f, 0x1a, 0xc5, 0x56, 0x53, 0x81, 0x63, 0xb9, 0x96, 0x9c, 0xa1, 0xcf, 0xc0,
|
||||
0x33, 0xf1, 0x34, 0xbc, 0x00, 0x2f, 0xc0, 0x0c, 0x73, 0x27, 0xff, 0xab, 0xf9, 0x60, 0xf2, 0xcd,
|
||||
0xbb, 0xfb, 0xfb, 0xfd, 0x6e, 0x77, 0x6f, 0xb5, 0x3e, 0x38, 0xeb, 0xc7, 0x83, 0xb4, 0x91, 0x84,
|
||||
0xe3, 0x9b, 0xa8, 0x17, 0x26, 0x8d, 0xf0, 0x26, 0x1c, 0xa6, 0x49, 0x30, 0x8a, 0x1a, 0x37, 0x2f,
|
||||
0x82, 0xc1, 0xe8, 0x5d, 0xf0, 0xa2, 0xd1, 0x1b, 0x44, 0xe1, 0x30, 0xf5, 0x55, 0xa4, 0x3e, 0x1a,
|
||||
0xc7, 0x69, 0x4c, 0x8e, 0x24, 0xa9, 0x3e, 0x23, 0xd5, 0xe7, 0xa4, 0xfa, 0x8c, 0x74, 0x70, 0x78,
|
||||
0x15, 0xc7, 0x57, 0x83, 0xb0, 0xa1, 0xf0, 0x97, 0x93, 0xb7, 0x8d, 0xfe, 0x64, 0x1c, 0xa4, 0x51,
|
||||
0x3c, 0xcc, 0x14, 0x0e, 0x9e, 0xae, 0xc6, 0xd3, 0xe8, 0x3a, 0x4c, 0xd2, 0xe0, 0x7a, 0x94, 0x01,
|
||||
0x6a, 0xbf, 0xc1, 0xbe, 0xae, 0x0e, 0xa6, 0x52, 0x5c, 0x4b, 0xd3, 0x71, 0x74, 0x39, 0x49, 0x43,
|
||||
0xf2, 0x13, 0xe4, 0xa3, 0x7e, 0x35, 0x77, 0x94, 0x3b, 0xde, 0x39, 0x7d, 0x5e, 0x5f, 0x97, 0x47,
|
||||
0x7d, 0x4e, 0x34, 0x0d, 0x96, 0x8f, 0xfa, 0x64, 0x1f, 0x8a, 0x37, 0xc1, 0x60, 0x12, 0x56, 0xf3,
|
||||
0x47, 0xb9, 0xe3, 0x32, 0xcb, 0x8c, 0xda, 0x9f, 0x39, 0xd8, 0x5d, 0x3a, 0xcd, 0x0e, 0xd3, 0x71,
|
||||
0xd4, 0x23, 0xdf, 0x43, 0x69, 0x96, 0xb5, 0x3a, 0xb0, 0x72, 0xfa, 0xa8, 0x9e, 0xa5, 0x5d, 0x9f,
|
||||
0xa5, 0x5d, 0x37, 0xa6, 0x80, 0xf6, 0x1d, 0x36, 0x07, 0x93, 0x07, 0x50, 0xec, 0xc5, 0x93, 0x61,
|
||||
0xaa, 0x0e, 0x29, 0xb6, 0xef, 0xb0, 0xcc, 0x24, 0xe7, 0x50, 0xbe, 0x56, 0xd2, 0x7e, 0xd4, 0xaf,
|
||||
0xf6, 0x55, 0x09, 0x27, 0xeb, 0x4b, 0xc8, 0xb2, 0x31, 0x0d, 0x56, 0xca, 0xc8, 0x66, 0xbf, 0xb9,
|
||||
0x03, 0xdb, 0x53, 0xa1, 0x78, 0x18, 0xc6, 0x6f, 0x6b, 0xff, 0xe4, 0xa1, 0xb2, 0x94, 0x3f, 0xd9,
|
||||
0x99, 0x37, 0xa9, 0xac, 0xaa, 0xfe, 0x01, 0x20, 0x49, 0x83, 0x71, 0xea, 0xcb, 0x2e, 0xab, 0xac,
|
||||
0x2a, 0xa7, 0x07, 0xff, 0xa9, 0x45, 0xcc, 0xae, 0x80, 0x95, 0x15, 0x5a, 0xda, 0xe4, 0x5b, 0x28,
|
||||
0x85, 0xc3, 0x7e, 0x46, 0x2c, 0xac, 0x25, 0x6e, 0x85, 0xc3, 0xbe, 0xa2, 0x51, 0xd8, 0x48, 0x3f,
|
||||
0x8c, 0xc2, 0xea, 0x86, 0xaa, 0xf2, 0xc5, 0xfa, 0x2a, 0x97, 0xd2, 0x17, 0x1f, 0x46, 0x21, 0x53,
|
||||
0x74, 0x72, 0x01, 0x10, 0xcc, 0x6e, 0x30, 0xa9, 0x16, 0x8f, 0x0a, 0xc7, 0x95, 0xd3, 0xef, 0x6e,
|
||||
0x25, 0x36, 0x1f, 0x00, 0xb6, 0xa4, 0x44, 0x6c, 0xd8, 0xca, 0x1a, 0x98, 0x54, 0x37, 0x95, 0xe8,
|
||||
0xd9, 0xad, 0x44, 0xb3, 0x2b, 0x61, 0x33, 0x8d, 0xda, 0xdf, 0x39, 0x40, 0x2b, 0xbe, 0x52, 0xb1,
|
||||
0x84, 0x85, 0xef, 0x27, 0x61, 0x92, 0x92, 0x27, 0x00, 0xd7, 0x41, 0xef, 0x5d, 0x34, 0x0c, 0xfd,
|
||||
0xf9, 0x65, 0x94, 0xa7, 0x1e, 0x53, 0x4d, 0x62, 0xf8, 0x7b, 0x3a, 0x0e, 0x66, 0x93, 0xa8, 0x0c,
|
||||
0x52, 0x85, 0xad, 0x9b, 0x70, 0x9c, 0xc8, 0x91, 0x2b, 0x28, 0xff, 0xcc, 0x24, 0x2d, 0x28, 0x8d,
|
||||
0x06, 0x41, 0xfa, 0x36, 0x1e, 0x5f, 0x4f, 0xbb, 0xfa, 0x3f, 0x66, 0xc7, 0x9b, 0x32, 0xd8, 0x9c,
|
||||
0x4b, 0x28, 0x6c, 0x66, 0xc0, 0x69, 0x3b, 0x9f, 0xdf, 0xaa, 0x72, 0x36, 0x25, 0xd7, 0xf6, 0x60,
|
||||
0x77, 0xa9, 0xe2, 0x64, 0x14, 0x0f, 0x93, 0xf0, 0xa4, 0x0d, 0xa5, 0xd9, 0x89, 0xa4, 0x0a, 0xfb,
|
||||
0x9e, 0xa5, 0x89, 0x96, 0xcb, 0x6c, 0xbf, 0xe3, 0x70, 0x8f, 0xea, 0x66, 0xcb, 0xa4, 0x06, 0xde,
|
||||
0x21, 0x65, 0x28, 0x5a, 0xa6, 0xd3, 0x79, 0x8d, 0x39, 0x52, 0x81, 0xad, 0xae, 0xe9, 0x18, 0x6e,
|
||||
0x97, 0x63, 0x9e, 0x00, 0x6c, 0x1a, 0x1a, 0xeb, 0x9a, 0x0e, 0x16, 0x4e, 0xfe, 0x2a, 0xc2, 0xbd,
|
||||
0x95, 0x91, 0x20, 0xfb, 0x80, 0xe2, 0x8d, 0x47, 0x57, 0xd4, 0x4a, 0xb0, 0x61, 0x3a, 0xa6, 0xc0,
|
||||
0x9c, 0xe4, 0x73, 0xa1, 0x89, 0x8e, 0xd4, 0xda, 0x82, 0x82, 0x66, 0x18, 0x58, 0x90, 0x87, 0x31,
|
||||
0xca, 0xa9, 0xc0, 0x0d, 0x19, 0xd7, 0x5d, 0xdb, 0x36, 0x05, 0x16, 0x65, 0x9c, 0xbf, 0xb2, 0x70,
|
||||
0x93, 0xec, 0x00, 0xf0, 0x57, 0x96, 0xcf, 0x29, 0xbb, 0xa0, 0x0c, 0xb7, 0x64, 0xc0, 0x72, 0xcf,
|
||||
0xb1, 0x24, 0x75, 0x0d, 0xb3, 0xd5, 0xc2, 0xb2, 0x94, 0xb0, 0x29, 0x3b, 0xa7, 0x08, 0x52, 0xa2,
|
||||
0xc9, 0x34, 0x47, 0x6f, 0x63, 0x85, 0x6c, 0x43, 0x49, 0x6f, 0x53, 0xfd, 0xa5, 0xdb, 0x11, 0xb8,
|
||||
0x2d, 0x23, 0x8c, 0xda, 0xae, 0xa0, 0x78, 0x57, 0x52, 0xbd, 0x0e, 0x6f, 0xe3, 0x4e, 0xf6, 0xcb,
|
||||
0xb2, 0xf0, 0x9e, 0x14, 0x69, 0x51, 0xa1, 0xb7, 0x11, 0xe5, 0x4f, 0xdd, 0x72, 0x1d, 0x8a, 0xbb,
|
||||
0xaa, 0x15, 0xee, 0xb9, 0xe9, 0x20, 0x91, 0xad, 0xb8, 0xa0, 0x8c, 0x9b, 0xae, 0x83, 0x7b, 0x59,
|
||||
0xaa, 0x4e, 0xcb, 0x3c, 0xc7, 0x7d, 0xb2, 0x09, 0x79, 0x8b, 0xe3, 0x7d, 0x55, 0x9e, 0xde, 0xa6,
|
||||
0xb6, 0x86, 0x0f, 0x08, 0xc2, 0xb6, 0xd0, 0x9a, 0x16, 0xf5, 0x4d, 0xdb, 0x73, 0x99, 0xc0, 0x87,
|
||||
0x0b, 0x0f, 0x7d, 0xad, 0x3c, 0xd5, 0x85, 0x47, 0x67, 0x54, 0x13, 0x14, 0x1f, 0xc9, 0x8c, 0x33,
|
||||
0x0f, 0xb3, 0xf1, 0x60, 0x61, 0xd9, 0x17, 0xf8, 0x78, 0x61, 0xe9, 0x1e, 0x7e, 0xb2, 0xe0, 0x72,
|
||||
0x6a, 0x51, 0x5d, 0xe0, 0x13, 0xb2, 0x0b, 0x77, 0x33, 0x8f, 0xd7, 0x11, 0x3e, 0x73, 0xbb, 0x78,
|
||||
0xb8, 0x00, 0x31, 0x5b, 0x79, 0x9e, 0x92, 0xbb, 0x50, 0xd6, 0x19, 0x35, 0xb8, 0xef, 0xd0, 0x2e,
|
||||
0x1e, 0xa9, 0x0e, 0x29, 0x93, 0xd9, 0xf8, 0xe9, 0xc2, 0xb2, 0x38, 0xd6, 0x94, 0xe5, 0x3a, 0x2d,
|
||||
0x5f, 0xd7, 0x04, 0x7e, 0x26, 0xa5, 0x94, 0xc5, 0x28, 0x77, 0xad, 0x0b, 0x8a, 0xcf, 0xc8, 0x53,
|
||||
0x78, 0x9c, 0xf5, 0x53, 0xf3, 0x4c, 0xff, 0x9c, 0x0a, 0x9f, 0x51, 0xcf, 0xf5, 0x6d, 0x2a, 0x34,
|
||||
0x43, 0x13, 0x1a, 0x7e, 0x2e, 0xe7, 0x6b, 0x01, 0x68, 0x6b, 0xdc, 0xd7, 0xdb, 0x1d, 0xe7, 0x25,
|
||||
0xc7, 0x2f, 0xc8, 0x33, 0x38, 0xfa, 0x98, 0x6a, 0xb8, 0x5d, 0xc7, 0x72, 0x35, 0xc3, 0xb7, 0x5c,
|
||||
0x5d, 0x13, 0xa6, 0xeb, 0x70, 0xfc, 0x92, 0xd4, 0xe0, 0xf0, 0x63, 0x54, 0xc7, 0x5b, 0xc1, 0x1c,
|
||||
0xcb, 0x89, 0x5b, 0x60, 0x18, 0x6d, 0x6a, 0x9c, 0xe2, 0x57, 0x84, 0xc0, 0xce, 0x92, 0xd7, 0x75,
|
||||
0x05, 0x9e, 0x7c, 0x8c, 0x9c, 0x4e, 0xd9, 0xd7, 0xe4, 0x10, 0x0e, 0x16, 0x5e, 0xcb, 0xe4, 0xc2,
|
||||
0xcf, 0x1a, 0xd6, 0x32, 0x2d, 0xca, 0xf1, 0x9b, 0x93, 0x5f, 0xa1, 0x34, 0xdb, 0xee, 0xe4, 0x01,
|
||||
0x10, 0x9b, 0x0a, 0x66, 0xea, 0x2b, 0xf3, 0xbd, 0x0f, 0xd8, 0x7c, 0x23, 0x28, 0x9f, 0x57, 0x41,
|
||||
0x0d, 0xcc, 0x91, 0x87, 0xb0, 0x37, 0xaf, 0xca, 0xe6, 0x3e, 0xb5, 0x34, 0x8f, 0x53, 0x03, 0xf3,
|
||||
0x32, 0xb0, 0x94, 0x9c, 0xa7, 0xfb, 0x94, 0x31, 0x97, 0x61, 0xe1, 0xe4, 0x67, 0xa8, 0x2c, 0xfd,
|
||||
0x19, 0x92, 0x47, 0x70, 0x5f, 0x13, 0x82, 0x99, 0xcd, 0x8e, 0x58, 0xfd, 0xa2, 0xee, 0xc3, 0xae,
|
||||
0xa6, 0x0b, 0xf3, 0x82, 0xfa, 0x99, 0x92, 0xdf, 0x61, 0x16, 0xe6, 0x4e, 0xff, 0xc8, 0xc1, 0xde,
|
||||
0xd2, 0x27, 0x99, 0xf0, 0x6c, 0x63, 0x90, 0x14, 0xca, 0xf3, 0x4d, 0x40, 0x4e, 0xd7, 0x6f, 0x93,
|
||||
0xd5, 0x45, 0x79, 0x70, 0x76, 0x2b, 0x4e, 0xb6, 0x6a, 0x9a, 0xdd, 0x5f, 0x3a, 0x57, 0x51, 0xfa,
|
||||
0x6e, 0x72, 0x59, 0xef, 0xc5, 0xd7, 0x8d, 0x41, 0xf4, 0x7e, 0x12, 0xf5, 0x83, 0x34, 0x78, 0x1e,
|
||||
0x0d, 0x7b, 0x0d, 0xf5, 0xa4, 0xb9, 0x8a, 0x1b, 0x57, 0xe1, 0x30, 0x7b, 0x60, 0x34, 0xd6, 0x3d,
|
||||
0x72, 0x7e, 0x9c, 0xbb, 0x2e, 0x37, 0x15, 0xe3, 0xec, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe6,
|
||||
0xa6, 0xa7, 0x7b, 0x19, 0x09, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
||||
@@ -29,7 +29,9 @@ import (
|
||||
|
||||
"github.com/cenkalti/backoff"
|
||||
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
remotesapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/remotesapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/events"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/iohelp"
|
||||
"github.com/liquidata-inc/dolt/go/store/atomicerr"
|
||||
"github.com/liquidata-inc/dolt/go/store/chunks"
|
||||
@@ -101,6 +103,11 @@ func NewDoltChunkStore(ctx context.Context, nbf *types.NomsBinFormat, org, repoN
|
||||
csClient = RetryingChunkStoreServiceClient{csClient}
|
||||
}
|
||||
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_GET_REPO_METADATA)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
metadata, err := csClient.GetRepoMetadata(ctx, &remotesapi.GetRepoMetadataRequest{
|
||||
RepoId: &remotesapi.RepoId{
|
||||
Org: org,
|
||||
@@ -113,6 +120,7 @@ func NewDoltChunkStore(ctx context.Context, nbf *types.NomsBinFormat, org, repoN
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -273,10 +281,16 @@ func (dcs *DoltChunkStore) getDLLocs(ctx context.Context, hashes []hash.Hash) (m
|
||||
batchItr(len(hashesBytes), getLocsBatchSize, func(st, end int) (stop bool) {
|
||||
batch := hashesBytes[st:end]
|
||||
f := func() error {
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_GET_DOWNLOAD_LOCATIONS)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
req := remotesapi.GetDownloadLocsRequest{RepoId: dcs.getRepoId(), ChunkHashes: batch}
|
||||
resp, err := dcs.csClient.GetDownloadLocations(ctx, &req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return NewRpcError(err, "GetDownloadLocations", dcs.host, req)
|
||||
}
|
||||
|
||||
@@ -391,12 +405,19 @@ func (dcs *DoltChunkStore) HasMany(ctx context.Context, hashes hash.HashSet) (ha
|
||||
currHashSl := hashSl[st:end]
|
||||
currByteSl := byteSl[st:end]
|
||||
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_HAS_CHUNKS)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
// send a request to the remote api to determine which chunks the remote api already has
|
||||
req := remotesapi.HasChunksRequest{RepoId: dcs.getRepoId(), Hashes: currByteSl}
|
||||
resp, err := dcs.csClient.HasChunks(ctx, &req)
|
||||
|
||||
if err != nil {
|
||||
err = NewRpcError(err, "HasMany", dcs.host, req)
|
||||
|
||||
counter.Inc()
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -459,10 +480,16 @@ func (dcs *DoltChunkStore) Version() string {
|
||||
// Rebase brings this ChunkStore into sync with the persistent storage's
|
||||
// current root.
|
||||
func (dcs *DoltChunkStore) Rebase(ctx context.Context) error {
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_REBASE)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
req := &remotesapi.RebaseRequest{RepoId: dcs.getRepoId()}
|
||||
_, err := dcs.csClient.Rebase(ctx, req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return NewRpcError(err, "Rebase", dcs.host, req)
|
||||
}
|
||||
|
||||
@@ -472,10 +499,16 @@ func (dcs *DoltChunkStore) Rebase(ctx context.Context) error {
|
||||
// Root returns the root of the database as of the time the ChunkStore
|
||||
// was opened or the most recent call to Rebase.
|
||||
func (dcs *DoltChunkStore) Root(ctx context.Context) (hash.Hash, error) {
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_ROOT)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
req := &remotesapi.RootRequest{RepoId: dcs.getRepoId()}
|
||||
resp, err := dcs.csClient.Root(ctx, req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return hash.Hash{}, NewRpcError(err, "Root", dcs.host, req)
|
||||
}
|
||||
|
||||
@@ -486,9 +519,15 @@ func (dcs *DoltChunkStore) Root(ctx context.Context) (hash.Hash, error) {
|
||||
// persisted root hash from last to current (or keeps it the same).
|
||||
// If last doesn't match the root in persistent storage, returns false.
|
||||
func (dcs *DoltChunkStore) Commit(ctx context.Context, current, last hash.Hash) (bool, error) {
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_COMMIT)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
hashToChunkCount, err := dcs.uploadChunks(ctx)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return false, err
|
||||
}
|
||||
|
||||
@@ -510,6 +549,7 @@ func (dcs *DoltChunkStore) Commit(ctx context.Context, current, last hash.Hash)
|
||||
resp, err := dcs.csClient.Commit(ctx, req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return false, NewRpcError(err, "Commit", dcs.host, req)
|
||||
|
||||
}
|
||||
@@ -579,10 +619,16 @@ func (dcs *DoltChunkStore) uploadChunks(ctx context.Context) (map[hash.Hash]int,
|
||||
hashBytes = append(hashBytes, tmp[:])
|
||||
}
|
||||
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_GET_UPLOAD_LOCATIONS)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
req := &remotesapi.GetUploadLocsRequest{RepoId: dcs.getRepoId(), TableFileHashes: hashBytes}
|
||||
resp, err := dcs.csClient.GetUploadLocations(ctx, req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return map[hash.Hash]int{}, err
|
||||
}
|
||||
|
||||
@@ -598,6 +644,7 @@ func (dcs *DoltChunkStore) uploadChunks(ctx context.Context) (map[hash.Hash]int,
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return map[hash.Hash]int{}, err
|
||||
}
|
||||
}
|
||||
@@ -899,10 +946,16 @@ func (dcs *DoltChunkStore) WriteTableFile(ctx context.Context, fileId string, nu
|
||||
|
||||
// Sources retrieves the current root hash, and a list of all the table files
|
||||
func (dcs *DoltChunkStore) Sources(ctx context.Context) (hash.Hash, []nbs.TableFile, error) {
|
||||
evt := events.NewEvent(eventsapi.ClientEventType_REMOTEAPI_LIST_TABLE_FILES)
|
||||
defer events.GlobalCollector.CloseEventAndAdd(evt)
|
||||
|
||||
counter := events.NewCounter(eventsapi.MetricID_REMOTEAPI_RPC_ERROR)
|
||||
|
||||
req := &remotesapi.ListTableFilesRequest{RepoId: dcs.getRepoId()}
|
||||
resp, err := dcs.csClient.ListTableFiles(ctx, req)
|
||||
|
||||
if err != nil {
|
||||
counter.Inc()
|
||||
return hash.Hash{}, nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -27,8 +26,6 @@ import (
|
||||
"google.golang.org/grpc"
|
||||
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/dbfactory"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/filesys"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/iohelp"
|
||||
)
|
||||
@@ -84,6 +81,7 @@ type GrpcEmitter struct {
|
||||
client eventsapi.ClientEventsServiceClient
|
||||
}
|
||||
|
||||
// NewGrpcEmitter creates a new GrpcEmitter
|
||||
func NewGrpcEmitter(conn *grpc.ClientConn) *GrpcEmitter {
|
||||
client := eventsapi.NewClientEventsServiceClient(conn)
|
||||
return &GrpcEmitter{client}
|
||||
@@ -130,17 +128,10 @@ type FileEmitter struct {
|
||||
}
|
||||
|
||||
// NewFileEmitter creates a new file emitter
|
||||
func NewFileEmitter() *FileEmitter {
|
||||
func NewFileEmitter(userHomeDir string, doltDir string) *FileEmitter {
|
||||
fs := filesys.LocalFS
|
||||
|
||||
root, err := env.GetCurrentUserHomeDir()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
dolt := dbfactory.DoltDir
|
||||
|
||||
return &FileEmitter{fbp: NewFileBackedProc(fs, root, dolt, MD5FileNamer, CheckFilenameMD5)}
|
||||
return &FileEmitter{fbp: NewFileBackedProc(fs, userHomeDir, doltDir, MD5FileNamer, CheckFilenameMD5)}
|
||||
}
|
||||
|
||||
// LogEvents implements the Emitter interface and writes events requests to files
|
||||
@@ -151,11 +142,3 @@ func (fe *FileEmitter) LogEvents(version string, evts []*eventsapi.ClientEvent)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// AreMetricsDisabled returns true if the dolt config has the metrics.disabled property
|
||||
// set to true, otherwise returns false
|
||||
func AreMetricsDisabled(dEnv *env.DoltEnv) (bool, error) {
|
||||
metricsDisabled := dEnv.Config.GetStringOrDefault(env.MetricsDisabled, "false")
|
||||
|
||||
return strconv.ParseBool(*metricsDisabled)
|
||||
}
|
||||
|
||||
@@ -18,15 +18,12 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/fatih/color"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/juju/fslock"
|
||||
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/env"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/filesys"
|
||||
)
|
||||
|
||||
@@ -50,31 +47,6 @@ type Flusher interface {
|
||||
Flush(ctx context.Context) error
|
||||
}
|
||||
|
||||
// getGRPCEmitter gets the connection to the events grpc service
|
||||
func getGRPCEmitter(dEnv *env.DoltEnv) *GrpcEmitter {
|
||||
host := dEnv.Config.GetStringOrDefault(env.MetricsHost, env.DefaultMetricsHost)
|
||||
portStr := dEnv.Config.GetStringOrDefault(env.MetricsPort, env.DefaultMetricsPort)
|
||||
insecureStr := dEnv.Config.GetStringOrDefault(env.MetricsInsecure, "false")
|
||||
|
||||
port, err := strconv.ParseUint(*portStr, 10, 16)
|
||||
|
||||
if err != nil {
|
||||
log.Println(color.YellowString("The config value of '%s' is '%s' which is not a valid port.", env.MetricsPort, *portStr))
|
||||
return nil
|
||||
}
|
||||
|
||||
insecure, err := strconv.ParseBool(*insecureStr)
|
||||
|
||||
if err != nil {
|
||||
log.Println(color.YellowString("The config value of '%s' is '%s' which is not a valid true/false value", env.MetricsInsecure, *insecureStr))
|
||||
}
|
||||
|
||||
hostAndPort := fmt.Sprintf("%s:%d", *host, port)
|
||||
conn, _ := dEnv.GrpcConnWithCreds(hostAndPort, insecure, nil)
|
||||
|
||||
return NewGrpcEmitter(conn)
|
||||
}
|
||||
|
||||
// lockAndFlush locks the given lockPath and passes the flushCB to the filesys' Iter method
|
||||
func lockAndFlush(ctx context.Context, fs filesys.Filesys, dirPath string, lockPath string, fcb flushCB) error {
|
||||
fsLock := filesys.CreateFilesysLock(fs, lockPath)
|
||||
@@ -122,15 +94,14 @@ type GrpcEventFlusher struct {
|
||||
}
|
||||
|
||||
// NewGrpcEventFlusher creates a new GrpcEventFlusher
|
||||
func NewGrpcEventFlusher(fs filesys.Filesys, userHomeDir string, doltDir string, dEnv *env.DoltEnv) *GrpcEventFlusher {
|
||||
func NewGrpcEventFlusher(fs filesys.Filesys, userHomeDir string, doltDir string, grpcEmitter *GrpcEmitter) *GrpcEventFlusher {
|
||||
fbp := NewFileBackedProc(fs, userHomeDir, doltDir, MD5FileNamer, CheckFilenameMD5)
|
||||
|
||||
if exists := fbp.EventsDirExists(); !exists {
|
||||
panic(ErrEventsDataDir)
|
||||
}
|
||||
|
||||
// return &GrpcEventFlusher{em: getGRPCEmitter(dEnv), fbp: fbp, LockPath: fbp.GetEventsDirPath()}
|
||||
return &GrpcEventFlusher{em: getGRPCEmitter(dEnv), fbp: fbp}
|
||||
return &GrpcEventFlusher{em: grpcEmitter, fbp: fbp}
|
||||
}
|
||||
|
||||
// flush has the function signature of the flushCb type
|
||||
@@ -186,7 +157,7 @@ type IOFlusher struct {
|
||||
}
|
||||
|
||||
// NewIOFlusher creates a new IOFlusher
|
||||
func NewIOFlusher(fs filesys.Filesys, userHomeDir string, doltDir string, dEnv *env.DoltEnv) *IOFlusher {
|
||||
func NewIOFlusher(fs filesys.Filesys, userHomeDir string, doltDir string) *IOFlusher {
|
||||
fbp := NewFileBackedProc(fs, userHomeDir, doltDir, MD5FileNamer, CheckFilenameMD5)
|
||||
|
||||
if exists := fbp.EventsDirExists(); !exists {
|
||||
@@ -212,6 +183,7 @@ func (iof *IOFlusher) flush(ctx context.Context, path string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// needed for bats test
|
||||
fmt.Fprintf(color.Output, "%+v\n", req)
|
||||
|
||||
if err := fs.DeleteFile(path); err != nil {
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"google.golang.org/grpc"
|
||||
|
||||
eventsapi "github.com/liquidata-inc/dolt/go/gen/proto/dolt/services/eventsapi/v1alpha1"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/doltcore/dbfactory"
|
||||
"github.com/liquidata-inc/dolt/go/libraries/utils/filesys"
|
||||
testLib "github.com/liquidata-inc/dolt/go/libraries/utils/test"
|
||||
)
|
||||
@@ -31,10 +30,10 @@ import (
|
||||
var (
|
||||
testVersion = "1.0.0"
|
||||
homeDir = "/home/"
|
||||
dPath = dbfactory.DoltDir
|
||||
dPath = ".dolt"
|
||||
evtPath = eventsDir
|
||||
doltDir = filepath.Join(homeDir, dPath)
|
||||
tempEvtsDir = filepath.Join(doltDir, evtPath)
|
||||
doltTestDir = filepath.Join(homeDir, dPath)
|
||||
tempEvtsDir = filepath.Join(doltTestDir, evtPath)
|
||||
)
|
||||
|
||||
type TestClient struct {
|
||||
@@ -102,7 +101,7 @@ func TestEventFlushing(t *testing.T) {
|
||||
if fsName == "inMemFS" {
|
||||
fs := filesys.NewInMemFS([]string{tempEvtsDir}, nil, tempEvtsDir)
|
||||
|
||||
ft = createFlushTester(fs, homeDir, doltDir)
|
||||
ft = createFlushTester(fs, homeDir, doltTestDir)
|
||||
} else {
|
||||
fs := filesys.LocalFS
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ func TestEvents(t *testing.T) {
|
||||
collector := NewCollector()
|
||||
testEvent := NewEvent(eventsapi.ClientEventType_CLONE)
|
||||
|
||||
testEvent.SetAttribute(eventsapi.AttributeID_LOCAL_REMOTE_URLS, remoteUrl)
|
||||
testEvent.SetAttribute(eventsapi.AttributeID_ACTIVE_REMOTE_URL, remoteUrl)
|
||||
|
||||
counter := NewCounter(eventsapi.MetricID_METRIC_UNSPECIFIED)
|
||||
counter.Inc()
|
||||
@@ -52,7 +52,7 @@ func TestEvents(t *testing.T) {
|
||||
assert.NotNil(t, clientEvents[0].StartTime)
|
||||
assert.NotNil(t, clientEvents[0].EndTime)
|
||||
|
||||
assert.Equal(t, eventsapi.AttributeID_LOCAL_REMOTE_URLS, clientEvents[0].Attributes[0].Id)
|
||||
assert.Equal(t, eventsapi.AttributeID_ACTIVE_REMOTE_URL, clientEvents[0].Attributes[0].Id)
|
||||
assert.Equal(t, remoteUrl, clientEvents[0].Attributes[0].Value)
|
||||
_, isCounter := clientEvents[0].Metrics[0].MetricOneof.(*eventsapi.ClientEventMetric_Count)
|
||||
assert.True(t, isCounter)
|
||||
|
||||
@@ -70,17 +70,26 @@ enum ClientEventType {
|
||||
CREDS_LS = 34;
|
||||
CONF_CAT = 35;
|
||||
CONF_RESOLVE = 36;
|
||||
REMOTEAPI_GET_REPO_METADATA = 37;
|
||||
REMOTEAPI_HAS_CHUNKS = 38;
|
||||
REMOTEAPI_GET_DOWNLOAD_LOCATIONS = 39;
|
||||
REMOTEAPI_GET_UPLOAD_LOCATIONS = 40;
|
||||
REMOTEAPI_REBASE = 41;
|
||||
REMOTEAPI_ROOT = 42;
|
||||
REMOTEAPI_COMMIT = 43;
|
||||
REMOTEAPI_LIST_TABLE_FILES = 44;
|
||||
}
|
||||
|
||||
enum MetricID {
|
||||
METRIC_UNSPECIFIED = 0;
|
||||
BYTES_DOWNLOADED = 1;
|
||||
DOWNLOAD_MS_ELAPSED = 2;
|
||||
REMOTEAPI_RPC_ERROR = 3;
|
||||
}
|
||||
|
||||
enum AttributeID {
|
||||
ATTRIBUTE_UNSPECIFIED = 0;
|
||||
LOCAL_REMOTE_URLS = 1;
|
||||
ACTIVE_REMOTE_URL = 1;
|
||||
}
|
||||
|
||||
message ClientEventAttribute {
|
||||
|
||||
Reference in New Issue
Block a user