stats: new thread local store implementation#348
Conversation
This is needed to support dynamic add/remove of clusters and
transitively stat scopes.
There is no way around the fact that this is an extremely complicated
change. See the comment in thread_local_store.h for more info.
NOTE: This changes the shared memory layout and will require a full
restart.
|
@lyft/network-team this is a very risky change. I don't plan on shipping till next week and will do some smoke testing so there is time to do a thorough review. |
|
quick note: I think shutdown is not quite correct. There is a way that we will run runOnAllThreads() while/after workers have shutdown. Will look at this more tomorrow. |
|
@mattklein123 what do you mean by requiring full restart? Are you referring to your existing envoy deployments? |
|
@rshriram this PR changes the shared memory layout so that the stats can be reference counted. Hot restart is not possible and a full restart is required for deployment. This is not a common occurrence. I think the last time this happened was about a year ago. |
|
@lyft/network-team I'm smoke testing this now and it looks good so far so I think ready for review. |
| * with the same address, and a cache flush operation could race and delete cache data | ||
| * for the new scope. This is extremely unlikely, and if it happens the cache will be | ||
| * repopulated on the next access. | ||
| * - Since it's possibly to have overlapping scopes, we de-dup stats when counters() or gauges() |
The stats change in #348 does not actually change the size of the shared memory region due to compiler alignment (at least on gcc 4.9). This will force a shared memory region version bump.
The stats change in #348 does not actually change the size of the shared memory region due to compiler alignment (at least on gcc 4.9). This will force a shared memory region version bump.
* Added PendingCheckCallbacks to ApiManager * Fixed code formatting * Fixed code formatting * Pending Report checks pending Check callback status, Fixed pending callback list clear bug * Renamed methods and variables. Added IsConfigLoadingDone to ApiManager * Added error handling of ApiManager initialization failure * Removed pending_request_callback_exist_ flag and added error handling * Removed pending_request_callback_exist_ flag from header * CreateRequestContext() returns bool * Fixed incorrect return value * Fixed bugs
Add envoy configuration which exposes our default configuration yaml Create an envoy builder class which helps with ergonomically creating an envoy instance to be run Signed-off-by: Alan Chiu <achiu@lyft.com> For an explanation of how to fill out the fields, please see the relevant section in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md) Description: android: Add envoy config and envoy builder Risk Level: low Testing: unit Docs Changes: none Release Notes: n/a [Optional Fixes #Issue] [Optional Deprecated:] Signed-off-by: JP Simard <jp@jpsim.com>
Add envoy configuration which exposes our default configuration yaml Create an envoy builder class which helps with ergonomically creating an envoy instance to be run Signed-off-by: Alan Chiu <achiu@lyft.com> For an explanation of how to fill out the fields, please see the relevant section in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md) Description: android: Add envoy config and envoy builder Risk Level: low Testing: unit Docs Changes: none Release Notes: n/a [Optional Fixes #Issue] [Optional Deprecated:] Signed-off-by: JP Simard <jp@jpsim.com>
**Commit Message** This commit adds documentation for using the DeepSeek R1 model (running locally considering Platform Keys are not available) with Envoy AI Proxy. **Related Issues/PRs (if applicable)** Supersedes #287 --------- Signed-off-by: Eric Mariasis <ericmariasis829@gmail.com> Signed-off-by: Erica Hughberg <erica.sundberg.90@gmail.com> Co-authored-by: Erica Hughberg <erica.sundberg.90@gmail.com>
This is needed to support dynamic add/remove of clusters and
transitively stat scopes.
There is no way around the fact that this is an extremely complicated
change. See the comment in thread_local_store.h for more info.
NOTE: This changes the shared memory layout and will require a full
restart.