You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Ben Mahler <be...@gmail.com> on 2016/04/27 23:17:45 UTC

Re: Review Request 44255: Add metrics for {RESERVE, UNRESERVE, CREATE, DESTROY} offer operation.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44255/#review130842
-----------------------------------------------------------



The `messages_*` metrics were originally added to track the number of each message type received by the master in the old libprocess message-passing API:
https://github.com/apache/mesos/blob/master/src/messages/messages.proto

However, we then introduced the Event/Call based API for schedulers/executors:
https://github.com/apache/mesos/blob/master/include/mesos/scheduler/scheduler.proto

Since these metrics are related to Accept-type Calls rather than the old message passing style, it seems we should add Call-based metrics to incorporate these:

```
master/scheduler_calls: 1024
master/scheduler_calls/type/accept: 512
master/scheduler_calls/type/accept/operations/launch: 256
master/scheduler_calls/type/accept/operations/reserve: 64
master/scheduler_calls/type/accept/operations/unreserve: 64
master/scheduler_calls/type/accept/operations/create: 64
master/scheduler_calls/type/accept/operations/destroy: 64
master/scheduler_calls/type/decline: 512
master/scheduler_calls/type/kill: 512
...
```

Also, this lets us distinguish between schedulers making calls and operators hitting the endpoints (the current patch treats these the same). We should get some feedback from Vinod Kone and Anand Mazumdar since they've been working on the HTTP API.

- Ben Mahler


On March 24, 2016, 1:54 a.m., fan du wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44255/
> -----------------------------------------------------------
> 
> (Updated March 24, 2016, 1:54 a.m.)
> 
> 
> Review request for mesos, Greg Mann, Guangya Liu, haosdent huang, and Jie Yu.
> 
> 
> Bugs: MESOS-4492
>     https://issues.apache.org/jira/browse/MESOS-4492
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Add metrics for {RESERVE, UNRESERVE, CREATE, DESTROY} offer operation.
> 
> 
> Diffs
> -----
> 
>   docs/monitoring.md 323d01d99456a71bd384faf186264e3fc4bf2207 
>   src/master/http.cpp 950206baf7f3a1cccdc49d810126473966d8d021 
>   src/master/master.cpp 8d6d3c6468c6b85fe09c33cf9747cc3d1f515ab9 
>   src/master/metrics.hpp 9d201fcce1c46a890c86a889ab31029f9a061561 
>   src/master/metrics.cpp 30c091198a8fdd6d6a957a351dc37d3dae7788e4 
>   src/tests/metrics_tests.cpp 419d275e0b32817388120222bd433ee6f4835efd 
> 
> Diff: https://reviews.apache.org/r/44255/diff/
> 
> 
> Testing
> -------
> 
> ChangLog:
> 
> v3:
>   - Move the couting out of common code path to http endpoint and master accept call separately to reflect its logic.
> 
> v2:
>   - Documenting those metrics
>   - Add test code for MetricsTest as suggested by Guangya
>   - post-review.py does not update original RR(https://reviews.apache.org/r/44058/), but only create a new one even if I rebased.
> 
> 
> Tests:
> 1. make check GTEST_FILTER="MetricsTest.Master" on Centos-7 (3.10.0-123.el7.x86_640)
> 
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from MetricsTest
> [ RUN      ] MetricsTest.Master
> [       OK ] MetricsTest.Master (211 ms)
> [----------] 1 test from MetricsTest (211 ms total)
> 
> [----------] Global test environment tear-down
> [==========] 1 test from 1 test case ran. (244 ms total)
> [  PASSED  ] 1 test
> 
> 2. Verify its functionality with 'reserve' http endpoint as an test case
> 
> # curl http://ipdc02-kvm-guest2:5050/metrics/snapshot | python -mjson.tool | grep reserve
>     "master/messages_reserve_resource": 0.0,
>     "master/messages_unreserve_resource": 0.0,
> 
> 
> # curl -i -d slaveId=6250553a-2f39-4a92-9073-4618d130f433-S1  -d resources='[ { "name": "cpus", "type": "SCALAR","scalar": { "value": 1 },"reservation":{"principal": "XiaoHaHa"}}  ]' -X POST  ipdc02-kvm-guest2:5050/master/reserve
> HTTP/1.1 200 OK
> Date: Fri, 26 Feb 2016 19:59:01 GMT
> Content-Length: 0
> 
> # curl http://ipdc02-kvm-guest2:5050/metrics/snapshot  | python -mjson.tool | grep reserve
>     "master/messages_reserve_resource": 1.0,
>     "master/messages_unreserve_resource": 0.0,
> 
> 
> Thanks,
> 
> fan du
> 
>