DJDT

Time

Resource usage

Resource Value
User CPU time 265.464 msec
System CPU time 37.763 msec
Total CPU time 303.227 msec
Elapsed time 435.780 msec
Context switches 106 voluntary, 12 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 104.27 ms (9 queries )
Query Timeline Time (ms) Action
SELECT MAX("lego_baseset"."year") AS "year__max"
  FROM
"lego_set"
 INNER JOIN
"lego_baseset"
    ON
("lego_set"."baseset_ptr_id" = "lego_baseset"."id")
 WHERE
"lego_baseset"."is_active"
SELECT ••• FROM "lego_set" INNER JOIN "lego_baseset" ON ("lego_set"."baseset_ptr_id" = "lego_baseset"."id") WHERE "lego_baseset"."is_active"
31.27

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(247)
  current_cats = PartCategory.get_current_categories()

/home/nathan/rb/site/./lego/models/parts.py in get_current_categories(161)
  max_year = Set.get_max_year()

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
  result = method(instance, *args, **kwargs)

/home/nathan/rb/site/./lego/models/sets.py in get_max_year(1754)
  return cls.objects.aggregate(Max('year'))['year__max']

SELECT "lego_partcategory"."id",
       "lego_partcategory"."name",
       "lego_partcategory"."part_count",
       "lego_partcategory"."img",
       "lego_partcategory"."slug"
  FROM
"lego_partcategory"
 WHERE
NOT ("lego_partcategory"."name" IN ('Other'))
 ORDER BY
"lego_partcategory"."name" ASC
SELECT ••• FROM "lego_partcategory" WHERE NOT ("lego_partcategory"."name" IN ('Other')) ORDER BY "lego_partcategory"."name" ASC
0.67

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(249)
  for pc in context['categories']:

SELECT "lego_partcategory"."id",
       "lego_partcategory"."name",
       "lego_partcategory"."part_count",
       "lego_partcategory"."img",
       "lego_partcategory"."slug"
  FROM
"lego_partcategory"
 WHERE
"lego_partcategory"."id" IN (
        SELECT U1."part_cat_id"
          FROM
"lego_partstats" U0
         INNER JOIN
"lego_part" U1
            ON
(U0."part_id" = U1."id")
         WHERE
U0."y2" IN (2026, 2025)
       )
 ORDER BY
"lego_partcategory"."name" ASC
SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" IN (SELECT ••• FROM "lego_partstats" U0 INNER JOIN "lego_part" U1 ON (U0."part_id" = U1."id") WHERE U0."y2" IN (2026, 2025)) ORDER BY "lego_partcategory"."name" ASC
60.67

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(261)
  if pc not in current_cats:

SELECT DISTINCT
    ON
("lego_partcolorstats"."color_id") "lego_partcolorstats"."color_id"
  FROM
"lego_partcolorstats"
 WHERE
("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."y2" >= 2021)
SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."y2" >= 2021)
10.31

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(330)
  context['adv_form'] = AdvancedSearchPartsForm(params.copy(), user=request.user)

/home/nathan/rb/site/./lego/forms/parts.py in __init__(672)
  self.fields['exists_in_color'].choices = Color.get_color_options(True)

/home/nathan/rb/site/./lego/models/colors.py in get_color_options(105)
  current = cls.get_current_colors()

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(104)
  caches[cache_key].set(method_key, result)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in set(344)
  return self._run_cmd("set", key, False, *args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _run_cmd(322)
  return self._safely_run_func(client, func, default_val, *args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _safely_run_func(211)
  result = func(*args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(1424)
  return client.set(key, value, expire=expire, noreply=noreply, flags=flags)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(475)
  return self._store_cmd(b"set", {key: value}, expire, noreply, flags=flags)[key]

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in _store_cmd(1196)
  data, data_flags = self.serde.serialize(key, data)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in serialize(119)
  return self._serialize_func(key, value)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in _python_memcache_serializer(58)
  pickler.dump(value)

SELECT "lego_color"."id",
       "lego_color"."name",
       "lego_color"."rgb",
       "lego_color"."is_trans",
       "lego_color"."fuzzy_color_id",
       "lego_color"."is_active"
  FROM
"lego_color"
 WHERE
"lego_color"."is_active"
 ORDER BY
"lego_color"."name" ASC
SELECT ••• FROM "lego_color" WHERE "lego_color"."is_active" ORDER BY "lego_color"."name" ASC
0.43

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(330)
  context['adv_form'] = AdvancedSearchPartsForm(params.copy(), user=request.user)

/home/nathan/rb/site/./lego/forms/parts.py in __init__(672)
  self.fields['exists_in_color'].choices = Color.get_color_options(True)

/home/nathan/rb/site/./lego/models/colors.py in get_color_options(110)
  for color in colors:

SELECT "django_site"."id",
       "django_site"."domain",
       "django_site"."name"
  FROM
"django_site"
 WHERE
"django_site"."id" = 1
 LIMIT
21
SELECT ••• FROM "django_site" WHERE "django_site"."id" = 1 LIMIT 21
0.24

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/usr/lib/python3.10/contextlib.py in __enter__(135)
  return next(self.gen)

/home/nathan/rb/site/./rb/context_processors.py in site(60)
  'domain': site.domain,

/home/nathan/rb/site/./rb/context_processors.py in <lambda>(54)
  site = SimpleLazyObject(lambda: get_current_site(request))

SELECT "rb_sitesettings"."id",
       "rb_sitesettings"."name",
       "rb_sitesettings"."value"
  FROM
"rb_sitesettings"
 WHERE
"rb_sitesettings"."name" = 'site_message'
 LIMIT
21
SELECT ••• FROM "rb_sitesettings" WHERE "rb_sitesettings"."name" = 'site_message' LIMIT 21
0.19

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/home/nathan/rb/site/./rb/templatetags/rb_settings.py in site_message(147)
  message = SiteSettings.get_site_message()

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
  result = method(instance, *args, **kwargs)

/home/nathan/rb/site/./rb/models/site.py in get_site_message(24)
  setting = cls.objects.get(name=SiteSettings.SITE_MESSAGE)

340
341 <body class="{% block body-class %}{{ request.user.get_body_classes }}{% endblock body-class %}">
342
343 {% site_message %}
344 <div id="wrapper" class="{% block wrapper_class %}{% endblock wrapper_class %} {% if request.user.is_anonymous %}{% else %}{{ request.user.get_personalisation_options.max_width }}{% endif %}">
345
346
347 <div id="topBar" class="hidden-sm hidden-xs">

/home/nathan/rb/site/rb/templates/rb/base_root.html

SELECT "countries_plus_country"."iso",
       "countries_plus_country"."iso3",
       "countries_plus_country"."iso_numeric",
       "countries_plus_country"."fips",
       "countries_plus_country"."name",
       "countries_plus_country"."capital",
       "countries_plus_country"."area",
       "countries_plus_country"."population",
       "countries_plus_country"."continent",
       "countries_plus_country"."tld",
       "countries_plus_country"."currency_code",
       "countries_plus_country"."currency_symbol",
       "countries_plus_country"."currency_name",
       "countries_plus_country"."phone",
       "countries_plus_country"."postal_code_format",
       "countries_plus_country"."postal_code_regex",
       "countries_plus_country"."languages",
       "countries_plus_country"."geonameid",
       "countries_plus_country"."neighbours",
       "countries_plus_country"."equivalent_fips_code"
  FROM
"countries_plus_country"
 WHERE
"countries_plus_country"."iso" = 'US'
 LIMIT
21
SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.34

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/home/nathan/rb/site/./rb/templatetags/rb_geo.py in geo_currency(20)
  geo_data = user.geo.get_user_currency()

/home/nathan/rb/site/./geo/geo.py in get_user_currency(252)
  country = Country.objects.get(iso=country_code)

412 </a>
413 </li>
414 <li class="hidden-xs">
415 {% geo_currency request.user %}
416 </li>
417 {% comment %}
418 <li class="hidden-xs hidden-sm">
419 <a href={% if request.user.is_authenticated %}"{% url 'user_profile_settings' request.user.get_username %}#personalisation"{% else %}"#" onclick="return false;"{% endif %} title="All date/times are being converted to this timezone">{% get_user_timezone request.user %}</a>

/home/nathan/rb/site/rb/templates/rb/base_root.html

SELECT "lego_partcategory"."id",
       "lego_partcategory"."name",
       "lego_partcategory"."part_count",
       "lego_partcategory"."img",
       "lego_partcategory"."slug"
  FROM
"lego_partcategory"
 ORDER BY
"lego_partcategory"."name" ASC
SELECT ••• FROM "lego_partcategory" ORDER BY "lego_partcategory"."name" ASC
0.15

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(204)
  c = self.get_render(context).flatten()

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(120)
  actual_form.form_html = helper.render_layout(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/helper.py in render_layout(301)
  html = self.layout.render(form, self.form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(135)
  return self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(367)
  fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(367)
  fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(367)
  fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(457)
  return self.get_rendered_fields(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(139)
  html = template.render(context)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_field.py in render(157)
  return str(field)

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
  result = method(instance, *args, **kwargs)

/home/nathan/rb/site/./lego/models/parts.py in get_all_sorted_choices(156)
  return [('', 'Category')] + [(x.id, x.name) for x in cats]

33 {% include 'bootstrap3/layout/help_text_and_errors.html' %}
34 {% else %}
35 <div class="controls {{ field_class }}">
36 {% crispy_field field %}
37 {% include 'bootstrap3/layout/help_text_and_errors.html' %}
38 </div>
39 {% endif %}
40 {% endif %}

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templates/bootstrap3/field.html

Log messages

No messages logged.