mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Bannier <benjamin.bann...@mesosphere.io>
Subject Re: Review Request 43880: Added allocator metrics for total and allocated scalar resources.
Date Wed, 02 Mar 2016 10:36:08 GMT


> On Feb. 29, 2016, 11:48 p.m., Alexander Rojas wrote:
> > src/master/allocator/mesos/hierarchical.cpp, lines 413-418
> > <https://reviews.apache.org/r/43880/diff/9/?file=1273635#file1273635line413>
> >
> >     This is really unreadable. I wasn't unsure of what it was happening here. I
felt like an `std::initializer_list` was being created with two elements of complete different
types.
> >     
> >     Then I realized that it was called implicitly the constructor of `process::metrics::Gauge`.
So there are some fixes I feel these lines need:
> >     
> >     1. No implicit constructor calls, let's not make it hard for people reading
the code so that they will need to jump back to see the declaration of `metrics.allocated`.
> >     2. There aren't many constructors in this file, but the few there use parenthesis
instead of brackets. Let's aim for consistency and readability instead of brace-initialization
lets use parenthesis.
> >     3. I think creating the deferred object outside will improve readability.
> >     
> >     All in all, I would go for code that looks like:
> >     
> >     ```c++
> >     Deferred<Future<double>()> totalGenerator = 
> >       process::defer(self(), [this, name]() {
> >         Option<Value::Scalar> value =
> >           this->roleSorter->totalScalars().get<Value::Scalar>(name);
> >         return value.isSome() ? value.get().value() ? 0.0;
> >       });
> >     
> >     metrics.allocated.put(
> >         name,
> >         process::metrics::Gauge(
> >             strings::join("/", "allocator/allocated", name),
> >             totalGenerator));
> >             
> >     ```

To make this more readable and obvious I introduced getters analoguous to `HierarchicalAllocatorProcess::_event_queue_dispatches`.


- Benjamin


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


On March 2, 2016, 11:35 a.m., Benjamin Bannier wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43880/
> -----------------------------------------------------------
> 
> (Updated March 2, 2016, 11:35 a.m.)
> 
> 
> Review request for mesos, Alexander Rukletsov and Ben Mahler.
> 
> 
> Bugs: MESOS-4720
>     https://issues.apache.org/jira/browse/MESOS-4720
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Added allocator metrics for total and allocated scalar resources.
> 
> 
> Diffs
> -----
> 
>   docs/monitoring.md 827f7073204fcf8575ca980a5571c8be4f5e4110 
>   src/master/allocator/mesos/hierarchical.hpp 3043888630b066505410d3b32c5b3f813cc458c1

>   src/master/allocator/mesos/hierarchical.cpp 24fa50f62dec10ed43089297473cc386d6ba2f78

>   src/master/allocator/mesos/metrics.hpp PRE-CREATION 
>   src/tests/hierarchical_allocator_tests.cpp 5f771f02db9bd098f3cd36730cd84bf2f5e87a33

> 
> Diff: https://reviews.apache.org/r/43880/diff/
> 
> 
> Testing
> -------
> 
> make check (OS X)
> 
> I confirmed that this does not lead to general performance regressions in the allocator;
this is partially expected since the added code only inserts metrics in the allocator while
the actual work is perform asynchronously. These tests where performed with `HierarchicalAllocator_BENCHMARK_Test.DeclineOffers`
on an optimized build under OS X using clang(trunk) as compiler.
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message