Comments (7)
check.error_code and error_message were added to the global dictionary. Waiting for istio/istio to pick up the changes from istio/api
from old_mixerclient_repo.
These attributes are trying to capture why requests rejected by Envoy. Mixer check is just one of reasons. There could be many other reasons (https://github.com/envoyproxy/envoy/blob/master/include/envoy/request_info/request_info.h#L16)
We should not call these attributes as "check.*". we should call them as followings:
-
request.proxy_error: string to display proxy error message, Mixer check error will be here too
-
request.proxy_error_code: as int32, to category the errors, error message may contain detail error.
how to define error code? rpc.status_code? -
request.proxy_error_by, as string, such as by_mixer_check, or by_auth, or by_fault_injection, or by_envoy_internal?
@geeknoid @kyessenov @douglas-reid @mandarjog What do you think?
from old_mixerclient_repo.
I don't think we want to specify "proxy" vs "mixer" in the attributes. This would imply that policies can be evaluated in Mixer in the report path which depend on who rejected a request, and that doesn't feel right to me.
from old_mixerclient_repo.
Wouldn't it be useful to use different tables or graphs to display number of requests rejected "by_mixer" or "by_auth", or "by_envoy_internal (due to upstream connection time out, etc)"?
from old_mixerclient_repo.
from old_mixerclient_repo.
from old_mixerclient_repo.
OK, we will keep the original plan to use following attributes:
check.error_message: a string for error message from mixer check. Also generate meaningful error for envoy internal errors.
check.error_code: rpc.status_code if from mixer_check. INTERNAL for other envoy internal errors.
from old_mixerclient_repo.
Related Issues (20)
- need more details for report_batch.cc:78] Mixer Report failed with: UNAVAILABLE HOT 5
- Update mixerclient readme HOT 4
- Hook up platform logging HOT 1
- Use timer to flush out expired cache items HOT 1
- destination.ip not sent as []byte HOT 14
- Provide statistics HOT 1
- httpFault/abort rules trigger does not send data to Prometheus HOT 1
- Add support for AttributeMatch.condition == REGEX HOT 1
- Make the set of attributes sent to the Mixer to be configurable HOT 1
- Elevate common request headers to attributes HOT 4
- Make the set of request headers sent to Mixer configurable HOT 1
- Provide statistics for check and report latencies as histograms HOT 3
- Add trace spans for client HOT 1
- Send Mixer attribute "connection.mtls" in Check() and Report() calls.
- Mixer client needs retry behavior HOT 2
- Support automatic dictionary fallback to recover gracefully from dictionary mismatches HOT 3
- Finish implementation and enable full caching for preconditions and quotas HOT 4
- remove uuid dependency
- Migrate from Jenkins to Prow HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from old_mixerclient_repo.