# Runner Progress

**URL:** <https://community.miniprofiler.com/t/runner-progress/208>\
**Category:** Ruby Bench\
**Created:** [January 10, 2014, 6:33am UTC](https://community.miniprofiler.com/t/runner-progress/208 "2014-01-10T06:33:22Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![wpp](https://sea2.discourse-cdn.com/flex016/user_avatar/community.miniprofiler.com/wpp/32/811_2.png) [@wpp](https://community.miniprofiler.com/u/wpp)\
**Post date:** [August 19, 2014, 7:21pm UTC](https://community.miniprofiler.com/t/runner-progress/208/13 "2014-08-19T19:21:57Z")

</div>

My questions about the app might be best explained with this proposed UI-change:

The side-navigation would be used to select one or more runners/benchmark and combinations of the two (for comparing).

E.g. select Ninefold (`runner`) and Discourse Benchmark (`benchmark`).  
Now select 2 different `runs` to compare against e.g. `ruby-funny-falcon-patch` vs. `ruby-2.1.0-p-1`

In my mind the models for this example would look something like: (diff = different the current app)

- Runner

- Benchmark (diff - a model as opposed to an attribute in result)

- Run

- Result (diff and not sure about this\*)

\*Would work if we take sam’s example from above, but how would one generalize it for different benchmarks? I think we should be fine if we just get this working with the current discourse benchmark and worry about generalizing it later.

before

> home:  
> 50: 49  
> 75: 50  
> 90: 52  
> 99: 114

after

> home:  
> 50: 47  
> 75: 48  
> 90: 50  
> 99: 105

```auto
runner => Ninefold
benchmark => Discourse Benchmark

run_before => 2.1.0-p-1
result1 => page: "home", percentile: 50, response_time: 49
result2 => page: "home", percentile: 75, response_time: 50

run_after => 2.1.0-p-1-funny-falcon_patch
result1 => page: "home", percentile: 50, response_time: 47
result2 => page: "home", percentile: 75, response_time: 48

```

Could you explain how one would model this use-case in the current application? I hope I’m not making a terrible fool out of myself, I’m sure you thought about this stuff.

I’m sorry if this is super confusing I’m really tired and shouldn’t be typing…

* * *
\*\*Edit: Perhaps a better approach to handling the results (which might look different depending on what benchmark they came from) would be to store them directly in a column (as json) in the `runs` table?

Here is an image

---

_[View the full topic](https://community.miniprofiler.com/t/runner-progress/208)._
