Skip to content

Commit 7917248

Browse files
committed
intercept: use protobuf types from google
1 parent 5286b88 commit 7917248

File tree

5 files changed

+23
-34
lines changed

5 files changed

+23
-34
lines changed

source/intercept/proto/intercept.proto

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ syntax = "proto3";
2121

2222
package rpc;
2323

24+
import "google/protobuf/timestamp.proto";
25+
import "google/protobuf/empty.proto";
2426
import "supervise.proto";
2527

2628
// Represents the remote sink of supervised process events.
@@ -31,7 +33,7 @@ import "supervise.proto";
3133
service Interceptor {
3234

3335
// Register a process related events.
34-
rpc Register (Event) returns (Empty) {}
36+
rpc Register (Event) returns (google.protobuf.Empty) {}
3537
}
3638

3739
// Represent a relevant life cycle event of a process.
@@ -47,7 +49,7 @@ message Event {
4749

4850
// Required.
4951
// (ISO-8601 date-tie format with microsecond precision in UTC timezone)
50-
string timestamp = 2;
52+
google.protobuf.Timestamp timestamp = 2;
5153

5254
reserved 3 to 10;
5355

@@ -84,5 +86,3 @@ message Event {
8486
int32 number = 1;
8587
}
8688
}
87-
88-
message Empty {}

source/intercept/source/collect/RpcServices.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace ic {
4646
, reporter_(reporter)
4747
{ }
4848

49-
grpc::Status InterceptorImpl::Register(grpc::ServerContext*, const rpc::Event* request, rpc::Empty*)
49+
grpc::Status InterceptorImpl::Register(grpc::ServerContext*, const rpc::Event* request, google::protobuf::Empty*)
5050
{
5151
reporter_.report(*request);
5252
return ::grpc::Status::OK;

source/intercept/source/collect/RpcServices.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace ic {
4646
explicit InterceptorImpl(Reporter&);
4747
~InterceptorImpl() override = default;
4848

49-
::grpc::Status Register(::grpc::ServerContext* context, const rpc::Event* request, rpc::Empty* response) override;
49+
::grpc::Status Register(::grpc::ServerContext* context, const rpc::Event* request, google::protobuf::Empty* response) override;
5050

5151
NON_DEFAULT_CONSTRUCTABLE(InterceptorImpl);
5252
NON_COPYABLE_NOR_MOVABLE(InterceptorImpl);

source/intercept/source/report/wrapper/EventFactory.cc

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@
2020
#include "report/wrapper/EventFactory.h"
2121
#include "Convert.h"
2222

23-
#include <fmt/chrono.h>
24-
#include <fmt/format.h>
23+
#include <google/protobuf/util/time_util.h>
2524

26-
#include <chrono>
2725
#include <random>
28-
#include <cstdint>
29-
#include <string>
26+
27+
using namespace google::protobuf::util;
3028

3129
namespace {
3230

@@ -37,15 +35,6 @@ namespace {
3735

3836
return distribution(generator);
3937
}
40-
41-
std::string now_as_string() {
42-
const auto now = std::chrono::system_clock::now();
43-
auto micros = std::chrono::duration_cast<std::chrono::microseconds>(now.time_since_epoch());
44-
45-
return fmt::format("{:%Y-%m-%dT%H:%M:%S}.{:06d}Z",
46-
fmt::localtime(std::chrono::system_clock::to_time_t(now)),
47-
micros.count() % 1000000);
48-
}
4938
}
5039

5140
namespace wr {
@@ -57,7 +46,7 @@ namespace wr {
5746
rpc::Event EventFactory::start(ProcessId pid, ProcessId ppid, const Execution &execution) const {
5847
rpc::Event event;
5948
event.set_rid(rid_);
60-
event.set_timestamp(now_as_string());
49+
event.mutable_timestamp()->CopyFrom(TimeUtil::GetCurrentTime());
6150
{
6251
rpc::Event_Started &event_started = *event.mutable_started();
6352
event_started.set_pid(pid);
@@ -68,24 +57,24 @@ namespace wr {
6857
}
6958

7059
rpc::Event EventFactory::signal(int number) const {
71-
rpc::Event result;
72-
result.set_rid(rid_);
73-
result.set_timestamp(now_as_string());
60+
rpc::Event event;
61+
event.set_rid(rid_);
62+
event.mutable_timestamp()->CopyFrom(TimeUtil::GetCurrentTime());
7463
{
75-
rpc::Event_Signalled &event = *result.mutable_signalled();
76-
event.set_number(number);
64+
rpc::Event_Signalled &event_signalled = *event.mutable_signalled();
65+
event_signalled.set_number(number);
7766
}
78-
return result;
67+
return event;
7968
}
8069

8170
rpc::Event EventFactory::terminate(int code) const {
82-
rpc::Event result;
83-
result.set_rid(rid_);
84-
result.set_timestamp(now_as_string());
71+
rpc::Event event;
72+
event.set_rid(rid_);
73+
event.mutable_timestamp()->CopyFrom(TimeUtil::GetCurrentTime());
8574
{
86-
rpc::Event_Terminated &event = *result.mutable_terminated();
87-
event.set_status(code);
75+
rpc::Event_Terminated &event_terminated = *event.mutable_terminated();
76+
event_terminated.set_status(code);
8877
}
89-
return result;
78+
return event;
9079
}
9180
}

source/intercept/source/report/wrapper/RpcClients.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ namespace wr {
6363
spdlog::debug("gRPC call requested: supervise::Interceptor::Register");
6464

6565
grpc::ClientContext context;
66-
rpc::Empty response;
66+
google::protobuf::Empty response;
6767

6868
const grpc::Status status = interceptor_->Register(&context, event, &response);
6969
spdlog::debug("gRPC call [Register] finished: {}", status.ok());

0 commit comments

Comments
 (0)