T and F in Trace

Not applicable

What does attached T and F in snapshot mean?

I placed condition to execute 3 policies if condition is true; condition -> (variable != true) meaning variable is null or empty. In this case variable has some value so those 3 policies are not executed but in trace it shows T instead of F, does that imply trace is referring to variable instead of condition ?

condition.png

0 10 510
10 REPLIES 10

Hi @Mayank

They basically show the runtime condition assertion results - True or False. If you hover your mouse over them or click them, you can see more info

Thanks that seems like I got an error code from backend in previous step and variable not getting set, so condition is true . But the T or F in trace seems to indicate inbuilt expressions Apigee executes in case when error conditions occurs in previous step. So all three conditions I mentioned are true but none of the 3 policies get executed I guess because preceeding service call our returned error code 4XX. I am seeing meaning of various symbol in trace in APigee doc

http://docs.apigee.com/api-services/content/using-trace-tool-0

In my trace I am seeing a small standing bar after service callout response which contain 4xx but that is not shown in the apigee documentation, wondering what that means.

@Mayank

Can you provide the screenshot of your trace ? Not sure I understand the error you are getting. Also, make sure that you set the success.codes in the Target end point configurations so that you can control the 4xx errors and execute your policies.

Not applicable

Hello @Mayank,

I hope you are setting up condition for each policy execution. So, the rule is, if the condition is met, then the policy would be executed.

Typically, we set some parameter in one policy and use it as a condition to enter in the next policy. If you are using javascript, for this setting, then please make sure that you do context.setVariable. This is one of the common mistake I used to do earlier.

One more point is, if there is an error, then the flow would go to the fault rule.

But I think, we would be able to help if you provide some more info as requested by @Sai Saran Vaidyanathan

Not applicable

@Meghdeep yes, variables are being set properly in policy but conditions are not getting executed as expected if there are errors in service callout response. Let me do some more testing on this.

@Sai ,Sorry, I can not provide more details, apigee doc should include details about what small standing bar means in trace to explain things better.

Including @docs to fix the docs

@Mayank - would be great if you can share the proxy

Hi @Mayank - This topic (http://docs.apigee.com/api-services/content/using-trace-tool-0) has the description of the standing bar icon, as well as the other Trace icons. There are links to other topics for more details. If you're still getting tripped up (like if the drill-down topics aren't helpful enough), please drop us a note on the relevant doc page by clicking "Send Docs Feedback" in the bottom right. (I'm on the doc team.)

I wonder, though if you're getting tripped up in Trace when an error occurs. Error flows are a bit different. Once an error occurs, the proxy immediately goes into an error state, and subsequent parts of the flow (later conditions that trigger policies) don't get hit. In the error state, Edge evaluates any Fault Rules you have set up. If your Fault Rules have conditions, you'll see F icons for any that evaluate to false. (You'd probably only see one that's true, because Edge executes the first True fault rule it hits.) And there are fault rule ordering nuances that can get a little tricky. So some of the T/F icons you see after an error may apply to Fault Rule conditions, not policy conditions. Check the gory Fault Rule details at http://docs.apigee.com/api-services/content/fault-handling.

Thanks for sharing link. I apologize for late response. Currently I can not share code , I will have to check internally of our policy and process of engagement with Apigee team. Attaching the snap of timeout errorstimeout.pngcondition.png.

I guess, the small standing bar should denote error condition, the subsequent 2 conditions (T) seems to be inbuilt error conditions (probably as flow is in error state now, so some default error check conditions are executed). I didn't configure those 2 conditions.Is that right?


These are those 2 conditions;

Expression ((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))
ExpressionResult true
Tree PROXY_FAULT_HANDLING

Expression ((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))("default" equals proxy.name)
ExpressionResult truetrue
Tree PROXY_FAULT_HANDLINGPROXY_default

The third T condition shown in condition.png is a fault rule which I configured to execute assign message policy so that one makes sense.

That's a really excellent point, @ansmayan. You're correct that those two conditions are automatically provided by Edge. They are to check whether an error occurred in the ProxyEndpoint or the TargetEndpoint.

Your screenshots didn't come through for me, but what you're seeing is indeed a combination of Edge-generated conditions and your own conditions. I've added a note about that in the documentation for the T & F icons. (The vertical bar icons simply show when different Proxy/Target Request/Response parts of the flow start.)

Not applicable

Attaching the snap timeout.png .