Skip to content

Commit

Permalink
Project import generated by Copybara.
Browse files Browse the repository at this point in the history
FolderOrigin-RevId: /usr/local/google/home/gdennis/copybara/temp/folder-destination2749690884205756937/.
  • Loading branch information
GGN Engprod Team authored and greg-dennis committed Oct 13, 2023
1 parent 71356c9 commit af5e8d0
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 13 deletions.
2 changes: 1 addition & 1 deletion compile_protos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ curl --create-dirs -o proto/build_deps/github.com/grpc/grpc-proto/grpc/binlog/v1

protoc -I=".:./proto/build_deps" --go_out=. --go_opt=paths=source_relative proto/log/log.proto

rm -rf proto/build_deps
rm -rf proto/build_deps
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ require (
github.com/openconfig/gribi v1.0.0
github.com/openconfig/gribigo v0.0.0-20230918211521-0717f4c7cd92
github.com/openconfig/ygot v0.29.11
github.com/p4lang/p4runtime v1.4.0-rc.5.0.20220728214547-13f0d02a521e
golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b
google.golang.org/grpc v1.58.2
google.golang.org/protobuf v1.31.0
)
Expand All @@ -19,7 +21,6 @@ require (
github.com/google/uuid v1.3.0 // indirect
github.com/openconfig/goyang v1.4.1 // indirect
go.uber.org/atomic v1.10.0 // indirect
golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b // indirect
golang.org/x/net v0.14.0 // indirect
golang.org/x/sys v0.11.0 // indirect
golang.org/x/text v0.12.0 // indirect
Expand Down
6 changes: 6 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
Expand All @@ -41,6 +42,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
Expand Down Expand Up @@ -85,6 +87,7 @@ github.com/openconfig/ygot v0.13.2/go.mod h1:kJN0yCXIH07dOXvNBEFm3XxXdnDD5NI6K99
github.com/openconfig/ygot v0.29.11 h1:M5lWoan2OL3JGmb5J8O9dMP+CVk2CarNa9fVQSmbucA=
github.com/openconfig/ygot v0.29.11/go.mod h1:RNnn1ytQ8GZV5LPts36l0cyoRjsYYpruiruJEvmU2sg=
github.com/p4lang/p4runtime v1.4.0-rc.5.0.20220728214547-13f0d02a521e h1:AfZKoikDXbZ7zWvO/lvCRzLo7i6lM+gNleYVMxPiWyQ=
github.com/p4lang/p4runtime v1.4.0-rc.5.0.20220728214547-13f0d02a521e/go.mod h1:m9laObIMXM9N1ElGXijc66/MSM5eheZJLRLxg/TG+fU=
github.com/pborman/getopt v0.0.0-20190409184431-ee0cd42419d3/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
Expand Down Expand Up @@ -135,6 +138,7 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
Expand All @@ -151,6 +155,7 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
Expand All @@ -165,6 +170,7 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I=
Expand Down
13 changes: 6 additions & 7 deletions replayer.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (
"errors"
"fmt"
"os"
"slices"
"sort"
"strings"
"time"
Expand All @@ -32,13 +31,15 @@ import (
"github.com/openconfig/gribigo/client"
"github.com/openconfig/ygot/util"
"github.com/openconfig/ygot/ygot"
"golang.org/x/exp/slices"
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/testing/protocmp"

gnmipb "github.com/openconfig/gnmi/proto/gnmi"
gribipb "github.com/openconfig/gribi/v1/proto/service"
lpb "github.com/openconfig/replayer/proto/log"
p4pb "github.com/p4lang/p4runtime/go/p4/v1"
)

//go:generate ./compile_protos.sh
Expand Down Expand Up @@ -257,30 +258,26 @@ func Parse(path string) (*Recording, error) {

switch v := m.(type) {
case *gnmipb.GetResponse:
counts["gNMI GetResponse"]++
if r.snapshot.gnmiGet == nil {
r.snapshot.gnmiGet = v
}
case *gribipb.GetResponse:
counts["gRIBI GetResponse"]++
if r.snapshot.gribi == nil {
r.snapshot.gribi = v
}
r.finalGRIBI = v
case *gnmipb.SetRequest:
counts["gNMI SetRequest"]++
if r.snapshot.gnmiSet == nil {
r.snapshot.gnmiSet = v
} else {
r.events = append(r.events, &event{message: v, timestamp: timestamp})
}
case *gribipb.ModifyRequest:
counts["gRIBI ModifyRequest"]++
case *gribipb.ModifyRequest, *p4pb.PacketOut, *p4pb.WriteRequest:
r.events = append(r.events, &event{message: v, timestamp: timestamp})
default:
counts["unsupported"]++
log.Errorf("Unsupported message type: %T, %v", v, v)
}
counts[fmt.Sprintf("%T", m)]++

}
log.Infof("Parsed binary log with request counts:\n%v", pretty.Sprint(counts))
Expand Down Expand Up @@ -334,6 +331,8 @@ func unmarshal(data []byte) (proto.Message, error) {
new(gnmipb.SubscribeResponse),
new(gribipb.GetResponse),
new(gribipb.ModifyRequest),
new(p4pb.PacketOut),
new(p4pb.WriteRequest),
}

for _, m := range messages {
Expand Down
20 changes: 20 additions & 0 deletions replayer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (

gnmipb "github.com/openconfig/gnmi/proto/gnmi"
gribipb "github.com/openconfig/gribi/v1/proto/service"
p4pb "github.com/p4lang/p4runtime/go/p4/v1"
)

const (
Expand Down Expand Up @@ -129,6 +130,25 @@ func TestParse(t *testing.T) {
},
timestamp: time.Unix(7, 0),
},
{
message: &p4pb.WriteRequest{
DeviceId: 1234,
Role: "test_role",
},
timestamp: time.Unix(9, 0),
},
{
message: &p4pb.PacketOut{
Payload: []byte("test payload"),
Metadata: []*p4pb.PacketMetadata{
{
MetadataId: 321,
Value: []byte("abc"),
},
},
},
timestamp: time.Unix(10, 0),
},
},
finalGRIBI: &gribipb.GetResponse{
Entry: []*gribipb.AFTEntry{
Expand Down
6 changes: 3 additions & 3 deletions testdata/parse_invalid_message.pb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

DEFAULT"
prefix1����*

B


B
�{
8 changes: 7 additions & 1 deletion testdata/parse_success.pb
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,10 @@
B&$
"
DEFAULT"
final state����+
final state����+

 B� 2 test_role


B
test payload�abc
Expand Down

0 comments on commit af5e8d0

Please sign in to comment.