{% extends "base.html" %} {% block headstuff %}{% endblock %} {% block content %} {% if is_shell %}

Welcome to the interactive playground! Here you can enter and run any Python code and analyze it immediately. {% if multithread %}
WARNING! The playground is not thread-safe, but your app is using threadsafe mode. Use at your own risk. {% endif %}


Output:
{{output}}

Errors:
{{errors}}

{% else %} {% if not record %}

Invalid or stale record key!

{% endif %} {% endif %} {% if record %}
{{record.start_time_formatted}}
{{record.http_status}}
{{record.http_method|escape}} {{record.http_path|escape}}{{record.http_query|escape}}
{{record.user_email|escape}}{% if record.is_admin %}*{% endif %} real={{record.duration_milliseconds}}ms api={{record.api_milliseconds}}ms overhead={{record.overhead_walltime_milliseconds}}ms cost={{record.combined_rpc_cost_micropennies}}
billed_ops={{record.combined_rpc_billed_ops}}

Timeline

[Chart goes here]
{% if record.individual_stats_size %}

RPC Call Traces

{% for t in record.individual_stats_list %} {% if t.request_data_summary %} {% endif %} {% if t.response_data_summary %} {% endif %} {% if t.call_stack_size %} {% for f in t.call_stack_list %} {% if f.variables_size %} {% endif %}{# f.variables_size #} {% endfor %}{# t.call_stack_list #} {% endif %}{# t.call_stack_size #} {% endfor %}{# record.individual_stats_list #}
RPC
@{{t.start_offset_milliseconds}}ms {{t.service_call_name|escape}} real={{t.duration_milliseconds}}ms api={{t.api_milliseconds}}ms cost={{t.call_cost_microdollars}} billed_ops=[{{t.billed_ops_str}}]
Request: {{t.request_data_summary|escape}}
Response: {{t.response_data_summary|escape}}
Stack:
  {% if file_url %}{% endif %} {{f.class_or_file_name|escape}}:{{f.line_number}}{% if file_url %}{% endif %} {{f.function_name|escape}}()
{% for item in f.variables_list %}{{item.key|escape}} = {{item.value|escape}}
{% endfor %}
{% endif %}{# traces #} {% endif %}
{% if rpcstats_by_count %}

RPC Stats

{% for item in rpcstats_by_count %} {% endfor %}
service.call #RPCs real time api time Cost Billed Ops
{{item.0|escape}} {{item.1|escape}} {{item.2}}ms {{item.3}}ms {{item.4}} {{item.5}}
{% endif %}{# rpcstats_by_count #} {% if record.cgi_env_size %}

CGI Environment

{% for item in record.cgi_env_list %} {% endfor %}
{{item.key|escape}}= {{item.value|escape}}
{% endif %}{# record.cgi_env_size #} {% if sys.path %}

sys.path

{% for item in sys.path %} {% endfor %}
Note: sys.path is not saved with the request; this is the current sys.path.
{{forloop.counter0}}: {{item|escape}}
{% endif %}{# sys.path #} {% endblock %} {% block tailstuff %} {% endblock %}