forked from mongodb/genny
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
TIG-1135 integrate gRPC into genny (mongodb#40)
- Loading branch information
Showing
15 changed files
with
17,158 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,5 @@ | |
mwg | ||
|
||
# clion | ||
.idea | ||
cmake-build-debug | ||
|
||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Ignore everything in this directory | ||
* | ||
# Except this file | ||
!.gitignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,2 @@ | ||
|
||
add_subdirectory(gennylib) | ||
add_subdirectory(driver) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
add_library(jasperlib STATIC | ||
jasper.pb.h | ||
jasper.pb.cc | ||
|
||
jasper.grpc.pb.h | ||
jasper.grpc.pb.cc | ||
) | ||
|
||
target_link_libraries(jasperlib | ||
PRIVATE | ||
grpc++ | ||
protobuf | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
## Jasper gRPC Client for Genny | ||
|
||
### Overview | ||
|
||
The `/src/third_party/jasper` directory contains files related to the | ||
[jasper](https://github.com/mongodb/jasper) process management service C++ | ||
gRPC client that Genny uses. | ||
|
||
There are three categories of files here: | ||
|
||
|
||
1. `jasper.proto`: The proto file copied verbatim from the jasper repository. | ||
2. `jasper.pb.*`: The generated protobuf C++ header and source which contain | ||
the definition for the protobuf interface structure. | ||
3. `jasper.grpc.*` The generated gRPC client C++ header and source which | ||
contain the RPC functions to jasper. | ||
|
||
### Versioning | ||
`jasper.proto` should correspond to the version used in the `curator` binary | ||
(which contains jasper, among other things). The curator version used in DSI | ||
will be updated concurrently with the `jasper.proto` file in the genny | ||
repository. The best way to find the actual version is to ssh into a DSI | ||
machine and run `curator --version`, or grep `curator --version` in the DSI | ||
repository. | ||
|
||
The exact version of `curator` and `jasper.proto` will be stored in the DSI | ||
repo, there is no separate version recorded in the genny repo. This allows | ||
the source of truth to be kept in a single location. | ||
|
||
If you need to update the version of `jasper.proto` in genny manually: | ||
|
||
1. replace `jasper.proto` with the newer version. | ||
2. from this directory, call: | ||
|
||
```bash | ||
protoc --cpp_out=. \ | ||
--grpc_out=. \ | ||
--plugin=protoc-gen-grpc=$(which grpc_cpp_plugin) \ | ||
./jasper.proto | ||
``` | ||
|
||
You will need the `protoc` and `grpc_cpp_plugin` binaries, which are part of | ||
the `protobuf` and `grpc++` projects respectively. |
Oops, something went wrong.