profile
viewpoint
Artem Denysov denar90 EU https://twitter.com/denar90_ Software Engineer at @stackbithq • Makes devs and users live easier helping them with webperf & tools • Speaker • Proud #mozillians member • @treosh advocate

denar90/brunch-with-marionettejs 14

Marionette.js skeleton with Babel/ES6 for Brunch with Progressive Web App goodness

denar90/awesome-brunch 9

A list of resources for Brunch

denar90/backbone.marionette-plupload-module 2

Plupload module for marionttejs

denar90/add-project-to-repo 1

Easiest way to add existing project or files into repository

denar90/atom-marionettejs-cli 1

MarionetteJS CLI package for Atom

denar90/awesome-ukraine 1

🇺🇦 A curated list of things that show the awesome side of Ukraine

denar90/anchorjs 0

Add deep anchor links to your docs.

denar90/appcache-brunch 0

Adds HTML5 App Cache generation to Brunch

denar90/awesome 0

A curated list of awesome lists

denar90/awesome-actions 0

A curated list of awesome actions to use on GitHub

pull request commentHTTPArchive/almanac.httparchive.org

Jamstack 2020 queries

@rviscomi can you have one more look?

denar90

comment created time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 12e59baed2457be4e90d100cc49c80945f93d61b

add image adoption queries

view details

push time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha a927768ead01f56b190b93eca81697495661f8f2

Fix namings

view details

push time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 4444b47471d806accabd08b98a324a8fbbd73979

Add CO2, image adoption, LH median results

view details

push time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha c4fed39a552f61ab7dd3210386898d5fa31e782c

Unitize ssg adoption query yoy

view details

Artem Denysov

commit sha 32ac677de8b27d2895fd4a521d1769f7708c99c5

Use firstHtml for summary_requests, adjust readme

view details

push time in 8 days

Pull request review commentHTTPArchive/almanac.httparchive.org

Jamstack 2020 queries

+#standardSQL+# Core Web Vitals distribution by CDN+#+# Note that this is an unweighted average of all sites per SSG.+# Performance of sites with millions of visitors as weighted the same as small sites.+SELECT+  client,+  CDN,+  COUNT(DISTINCT origin) AS origins,+  SUM(fast_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS good_lcp,+  SUM(avg_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS ni_lcp,+  SUM(slow_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS poor_lcp,++  SUM(fast_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS good_fid,+  SUM(avg_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS ni_fid,+  SUM(slow_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS poor_fid,++  SUM(small_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS good_cls,+  SUM(medium_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS ni_cls,+  SUM(large_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS poor_cls,+FROM+  `chrome-ux-report.materialized.device_summary`+JOIN (+    SELECT+      CASE+        WHEN REGEXP_EXTRACT(LOWER(CONCAT(respOtherHeaders, resp_x_powered_by, resp_via, resp_server)), '(x-github-request)') = 'x-github-request' THEN 'GitHub'+        WHEN REGEXP_EXTRACT(LOWER(CONCAT(respOtherHeaders, resp_x_powered_by, resp_via, resp_server)), '(netlify)') = 'netlify' THEN 'Netlify'+        WHEN _cdn_provider = 'Microsoft Azure' THEN 'Azure'+        WHEN _cdn_provider = 'Vercel' THEN 'Vercel'+        WHEN _cdn_provider = 'Amazon CloudFront' THEN 'AWS'+        WHEN _cdn_provider = 'Akamai' THEN 'Akamai'+        WHEN _cdn_provider = 'Cloudflare' THEN 'Cloudflare'+        ELSE NULL+      END AS CDN,+      _TABLE_SUFFIX as client,+      url,+      app+    FROM+      `httparchive.summary_requests.2020_08_01_*`

👍

denar90

comment created time in 8 days

PullRequestReviewEvent

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha dbe7ab3a6c4093b427ac299f7c1e60838cd21d82

Update sql/2020/17_JAMstack/cdn_core_web_vitals_distribution.sql Co-authored-by: Rick Viscomi <rviscomi@users.noreply.github.com>

view details

push time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 84c2751a3de7e82c887b70228f55ad909f35dc5f

Update sql/2020/17_JAMstack/cdn_core_web_vitals_distribution.sql Co-authored-by: Rick Viscomi <rviscomi@users.noreply.github.com>

view details

push time in 8 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha e88238963de62fb05bcf6ed2fb5c04d722528dde

Add more queries

view details

push time in 19 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 32a022e5d3ef1cbb89ce260c1bddbd5417de7695

Improve CWV passing, add ssg adoption comparing to 2019

view details

push time in 22 days

pull request commentHTTPArchive/almanac.httparchive.org

Jamstack 2020 queries

@ahmadawais @remotesynth I'm fine having some disclaimer/explanation about Next.js.

I totally reworked queries. Now they includes all SSGs (+ Next.js). Also now we have

  • core_web_vitals_distribution.sql
  • core_web_vitals_passing.sql
  • third_party_bytes_and_requests_on_ssgs.sql

Also started working on GSheet and planning to have queries similar to https://github.com/HTTPArchive/almanac.httparchive.org/pull/1087

denar90

comment created time in 24 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 4bef195de0b0863f79c58a64fc8660883df8e4b4

Rename third party bytes

view details

push time in 24 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha f2f785c77d7504b97ee01cdab9533d6fc564a234

Add CWV distribution, thirdparty requests

view details

push time in 24 days

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 57afea32854088573f8d1efee6536b2b2a66f783

Add CWV for SSG

view details

push time in a month

startedgoogle/eleventy-high-performance-blog

started time in a month

Pull request review commentHTTPArchive/almanac.httparchive.org

CMS 2020 queries

+#standardSQL+# Core Web Vitals performance by CMS+CREATE TEMP FUNCTION IS_GOOD (good FLOAT64, needs_improvement FLOAT64, poor FLOAT64) RETURNS BOOL AS (+  good / (good + needs_improvement + poor) >= 0.75+);++CREATE TEMP FUNCTION IS_NON_ZERO (good FLOAT64, needs_improvement FLOAT64, poor FLOAT64) RETURNS BOOL AS (+  good + needs_improvement + poor > 0+);+++SELECT+  client,+  cms,+  COUNT(DISTINCT origin) AS origins,+  # Origins with good LCP divided by origins with any LCP.+  SAFE_DIVIDE(+    COUNT(DISTINCT IF(IS_GOOD(fast_lcp, avg_lcp, slow_lcp), origin, NULL)),+    COUNT(DISTINCT IF(IS_NON_ZERO(fast_lcp, avg_lcp, slow_lcp), origin, NULL))) AS pct_good_lcp,++  # Origins with good FID divided by origins with any FID.+  SAFE_DIVIDE(+    COUNT(DISTINCT IF(IS_GOOD(fast_fid, avg_fid, slow_fid), origin, NULL)),+    COUNT(DISTINCT IF(IS_NON_ZERO(fast_fid, avg_fid, slow_fid), origin, NULL))) AS pct_good_fid,++  # Origins with good CLS divided by origins with any CLS.+  SAFE_DIVIDE(+    COUNT(DISTINCT IF(IS_GOOD(small_cls, medium_cls, large_cls), origin, NULL)),+    COUNT(DISTINCT IF(IS_NON_ZERO(small_cls, medium_cls, large_cls), origin, NULL))) AS pct_good_cls,++  # Origins with good LCP, FID, and CLS dividied by origins with any LCP, FID, and CLS.+  SAFE_DIVIDE(+    COUNT(DISTINCT IF(+      IS_GOOD(fast_lcp, avg_lcp, slow_lcp) AND+      IS_GOOD(fast_fid, avg_fid, slow_fid) AND+      IS_GOOD(small_cls, medium_cls, large_cls), origin, NULL)),+    COUNT(DISTINCT IF(+      IS_NON_ZERO(fast_lcp, avg_lcp, slow_lcp) AND+      IS_NON_ZERO(fast_fid, avg_fid, slow_fid) AND+      IS_NON_ZERO(small_cls, medium_cls, large_cls), origin, NULL))) AS pct_good_cwv+FROM+  `chrome-ux-report.materialized.device_summary`+JOIN (+  SELECT+    _TABLE_SUFFIX AS client,+    url,+    app AS cms+  FROM+    `httparchive.technologies.2019_08_01_*`
    `httparchive.technologies.2020_08_01_*`
rviscomi

comment created time in a month

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentHTTPArchive/almanac.httparchive.org

CMS 2020 queries

+#standardSQL+# Core Web Vitals distribution by CMS+#+# Note that this is an unweighted average of all sites per CMS.+# Performance of sites with millions of visitors as weighted the same as small sites.+SELECT+  client,+  cms,+  COUNT(DISTINCT origin) AS origins,++  SUM(fast_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS good_lcp,+  SUM(avg_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS ni_lcp,+  SUM(slow_lcp) / (SUM(fast_lcp) + SUM(avg_lcp) + SUM(slow_lcp)) AS poor_lcp,++  SUM(fast_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS good_fid,+  SUM(avg_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS ni_fid,+  SUM(slow_fid) / (SUM(fast_fid) + SUM(avg_fid) + SUM(slow_fid)) AS poor_fid,++  SUM(small_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS good_cls,+  SUM(medium_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS ni_cls,+  SUM(large_cls) / (SUM(small_cls) + SUM(medium_cls) + SUM(large_cls)) AS poor_cls,+FROM+  `chrome-ux-report.materialized.device_summary`+JOIN (+  SELECT+    _TABLE_SUFFIX AS client,+    url,+    app AS cms+  FROM+    `httparchive.technologies.2019_08_01_*`
    `httparchive.technologies.2020_08_01_*`
rviscomi

comment created time in a month

Pull request review commentHTTPArchive/almanac.httparchive.org

CMS 2020 queries

+#standardSQL+  # CMS adoptions, compared to 2019+SELECT+  _TABLE_SUFFIX AS client,+  2020 AS year,+  COUNT(0) AS freq,+  total,+  COUNT(0) / total AS pct+FROM+  `httparchive.technologies.2020_08_01_*`+JOIN (+  SELECT+    _TABLE_SUFFIX,+    COUNT(0) AS total+  FROM+    `httparchive.summary_pages.2020_08_01_*`+  GROUP BY+    _TABLE_SUFFIX)+USING+  (_TABLE_SUFFIX)+WHERE+  category = 'CMS'+GROUP BY+  client,+  total+UNION ALL+SELECT+  _TABLE_SUFFIX AS client,+  2019 AS year,+  COUNT(0) AS freq,+  total,+  COUNT(0) / total AS pct+FROM+  `httparchive.technologies.2019_07_01_*`
  `httparchive.technologies.2020_07_01_*`
rviscomi

comment created time in a month

PullRequestReviewEvent

pull request commentHTTPArchive/almanac.httparchive.org

Jamstack 2020 queries

Totally agree. In other hand we can provide readers with wrong data, because users can use Next.js differently (like SSR or just SPA). Having no distinguish for that will lead to corrupted data. Maybe we can put "message" to Next.js team, so they can provide some indication for type of Next.js usage. Next year we will be able to include it and be 100% confident in data.

denar90

comment created time in a month

pull request commentHTTPArchive/almanac.httparchive.org

Jamstack 2020 queries

@ahmadawais, yup, we didn't include Next.js due to research - https://github.com/HTTPArchive/almanac.httparchive.org/issues/878#issuecomment-666200665

denar90

comment created time in a month

issue commentHTTPArchive/almanac.httparchive.org

Jamstack 2020

Cool, thanks for the clarifications 👍

rviscomi

comment created time in a month

issue commentHTTPArchive/almanac.httparchive.org

Jamstack 2020

@ahmadawais I've attached google sheets into PR with TTFB results, so you can start exploring. Hope to finish other queries pretty soon.

rviscomi

comment created time in a month

push eventHTTPArchive/almanac.httparchive.org

Artem Denysov

commit sha 220e480b5c5705ce3c7c3b6ca837dfdbff4af7c9

Update cdn_ttfb.sql

view details

push time in a month

issue commentHTTPArchive/almanac.httparchive.org

Jamstack 2020

@abraham, wip is here - https://github.com/HTTPArchive/almanac.httparchive.org/pull/1228 I need to figure out how to join and have desktop and mobile results together. If it's solved - super easy to run other queries for other metrics, kinda the same but changing metrics names. I think we can finish it up this week.

rviscomi

comment created time in a month

startedchernivtsijs/made-in-ukraine

started time in a month

PR opened HTTPArchive/almanac.httparchive.org

Jamstack 2020 queries
  • [x] Time to first bit distribution. 95% finished, fix getting desktop and mobile data
  • [ ] First contentful paint distribution
  • [ ] Largest contentful paint distribution
  • [ ] Cumulative layout shift distribution
+50 -0

0 comment

1 changed file

pr created time in a month

create barnchHTTPArchive/almanac.httparchive.org

branch : jamstack-sql-2020

created branch time in a month

delete branch HTTPArchive/almanac.httparchive.org

delete branch : jasmtack-sql-2020

delete time in a month

create barnchHTTPArchive/almanac.httparchive.org

branch : jasmtack-sql-2020

created branch time in a month

pull request commentstoyan/perfplanet

Add Artem's and Treo feed

Hey @stoyan, sorry for waisting your time, I completely lost that PR...

denar90

comment created time in a month

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

@ahmadawais I have early query and clarified missing parts, e.g. querying CDN like Azure and stuff, I'll prepare PR's till the end of the week.

rviscomi

comment created time in 2 months

startedGoogleChromeLabs/AutoWebPerf

started time in 2 months

startedigrigorik/shopify-core-web-vitals

started time in 2 months

starteddenar90/webhook-action

started time in 2 months

startedGoogleChromeLabs/comlink-loader

started time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

@ahmadawais yeah, I've been thinking composing SSG and CDN. Will start on it asap, this week is quiet busy...

rviscomi

comment created time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

@phacks Next.js as well otherwise we will present wrong results.

Me: "Do you distinguish Next.js rendered via SSR vs app fully rendered on client side?" Wappalyzer: No distinction currently.

source: https://twitter.com/denar90_/status/1287271002041470976

rviscomi

comment created time in 2 months

startedGoogleChromeLabs/perf-track

started time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

@ahmadawais I'm not sure we can prepare all sql until 27th. We still have open questions. I'm not sure where do we have to discuss here, or in doc. I'll leave it here, we can move it if needed.

  1. Netlify v Vercel v Amplify are hosting platforms for any kind of sites. So we will have to select by header and engine. So as @remotesynth mentioned there might be difficulties to detect if site has SSR or not. @rauchg does Vercel have any headers or any other info when hosting the Jamstack site?

  2. List of engines we want to cover. My list would be

  • Nextjs
  • 11ty
  • Hugo
  • Jekyll
  • Gatsby
  1. CMS platforms
  • Sanity
  • Contentful
  • NetlifyCMS
  • etc..
  1. Platforms to create Jamstack sites. If we can grab data and distribute it to see how fast sites are created via these platforms.

I'm pretty sure we can't combine all items together. So let's try to group them and show distributions like @tpiros suggested.

rviscomi

comment created time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

@tpiros do you mean hosted CMSs like Contentful (API based) and self-deployed like Netlify-CMS (git based) ?

rviscomi

comment created time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JavaScript 2020

@rviscomi @tkadlec will be happy to review :)

obto

comment created time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JAMstack 2020

Hey @ahmadawais @rviscomi I'm a bit late for the party but will be happy to contribute more as reviewer and analyst. Moreover, do you have open spot for co-authoring? I'd suggest @remotesynth for that role. He has awesome experience in Jamstack area, writing stuff etc.

rviscomi

comment created time in 2 months

starteda11yproject/a11yproject.com

started time in 2 months

issue commentHTTPArchive/almanac.httparchive.org

JavaScript 2020

@housseindjirdeh thanks 🙌 @rviscomi @obto @tkadlec if you still need some help I'd be happy to help 😃

obto

comment created time in 3 months

created repositorydenar90/denar90

created time in 3 months

startedakamai/edgeworkers-examples

started time in 3 months

push eventtreosh/lighthouse-ci-action

Artem Denysov

commit sha 80bf38f795ee50248d9f1babebbd87a9f942f603

Update LHCI-output-webhook.yml

view details

push time in 3 months

created tagdenar90/webhook-action

tag0.1.1

created time in 3 months

release denar90/webhook-action

0.1.1

released time in 3 months

push eventtreosh/lighthouse-ci-action

Artem Denysov

commit sha f5e9d2c62b5ab2048a7ab71884b0bcead7913b94

Update LHCI-output-webhook.yml

view details

push time in 3 months

push eventtreosh/lighthouse-ci-action

Artem Denysov

commit sha 0a470d0cb237b909ed6f0335540473d6265b7b59

Update LHCI-output-webhook.yml

view details

push time in 3 months

push eventtreosh/lighthouse-ci-action

Artem Denysov

commit sha ef1ba9d6aed1ebb56eca40419fda3d345349c40f

Improve docs

view details

push time in 3 months

startedmanojVivek/responsively-app

started time in 3 months

startedGoogleChromeLabs/tooling.report

started time in 3 months

startedFlameOfIgnis/Pwdb-Public

started time in 3 months

more