Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge from upstream #10

Merged
merged 6 commits into from
Jul 16, 2020
Merged

Conversation

eric846
Copy link
Owner

@eric846 eric846 commented Jul 16, 2020

No description provided.

oschaaf and others added 6 commits July 7, 2020 13:34
- First iteration on testing gcc support in CI. This restricts the
task to just building Nighthawk, and not testing it yet, as that
needs a change in Envoy to go in first.
- Small cleanup, and a bugfix for those who use the script to run
locally, which would be detected as running in CircleCI.

Related issue: #382
(needs a follow up to close, left in as a code-level todo).

Signed-off-by: Otto van der Schaaf <[email protected]>
Signed-off-by: Otto van der Schaaf <[email protected]>
#391)

Add new NH statistic class CircllhistStatistic and SinkableCircllhistStatistic.

CircllhistStatistic uses Circllhist under the hood to compute statistics where Circllhist is used in the implementation of Envoy Histograms. Compared to HdrHistogram Circllhist trades precision for fast performance in merge and insertion according to #115.

SinkableCircllhistStatistic wraps the Envoy::Stats::Histogram interface and is used to flush histogram value to downstream Envoy stats Sinks.

Linked Issues: #344

Testing: unit tests
Add an extension which implements dynamic delay injection based on the number
of concurrent requests being handled, as well as static delays.

Fixes #389 and also #82. We may consider removing the direct fault filter configs
from our docs as well as emit a log warning when detecting usage to deprecate.
It would be nice if we could add the fault filter extension in code instead of imposing
configuration of that upon the end user, making that an implementation detail.

The following shows a per-request config example. 
This header-provided configuration gets merged with any provided static configuration to
determine a final configuration for each request:

```
curl -H "x-nighthawk-test-server-config:{static_delay:\"1s\"}"  -vv 127.0.0.1:10000
```

Full yaml config for the http_filters section:

```yaml
                http_filters:
                  - name: dynamic-delay
                    config:
                      concurrency_based_delay:
                        minimal_delay: 0.05s
                        concurrency_delay_factor: 0.010s                  
                  - name: test-server
                    config:
                      response_body_size: 10
                      response_headers:
                        - { header: { key: "x-nh", value: "1" } }
```

Signed-off-by: Otto van der Schaaf <[email protected]>
…essfully. This command will create the files needed for CLang intellisense to work. (#403)

Signed-off-by: Peter Morgan <[email protected]>
Update Envoy + run gcc-built tests in CI because now we can.

Fixes #382

Signed-off-by: Otto van der Schaaf <[email protected]>
@eric846 eric846 merged commit 442cca9 into eric846:adaptive-rps-protos2 Jul 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants