Wooble FastTrack · Level 1: Foundational

Server log analysis exercise

Why are users being logged out?, at PaylarkSimulation

People keep getting signed out of the app. Read the auth service and a day of its logs, and find out which sign-outs were bugs.

  • You're the AI-enabled Full-Stack Developer
  • About 60 minutes, no timer
  • 5 days to hand in
  • Checked the moment you hand in
  • Free
Start this problem

Free. Sign up in a minute and you go straight to it.

The situation

Kabir SethiEngineering Manager, Platform, Paylark

Morning, and welcome to Platform!

You've landed in the middle of something. Since yesterday, Wednesday 21 October, people have been writing in saying Paylark keeps signing them out: mid-payment, on the bus, twice an hour. Some of those sign-outs are the service doing its job. Some aren't, and those are the ones I need you on.

The download is the auth service as it ran yesterday, with the whole day's logs from all three auth servers. Before we change anything, I want to know exactly what happened:

  1. How many sessions ended yesterday, for any reason.
  2. How many users were signed out who shouldn't have been. Count people, not sessions.
  3. How many sessions we ended because someone used a stolen refresh token. Those were us doing our job; I want the number for the security review.
  4. What signed people out wrongly. It may be more than one thing.
  5. Every session that ended, and why it really ended. The reason the server logged isn't always the real one.
  6. A short note to me: what went wrong, how you know, and what you'd change in the service.

Use whatever you like: jq, a script, a notebook, AI. Send me a link to whatever you used so someone can re-run it. Write down any assumption.

Thanks, Kabir

When you start, you get Paylark's handbook and your own data: the same story as everyone else's, with different records, so your answers are yours alone.

What you hand in

  1. 1Sessions ended: Sessions that ended on 21 October, for any reason (a count)
  2. 2Users wrongly logged out: Users signed out who shouldn't have been (people, not sessions) (a count)
  3. 3Stolen tokens caught: Sessions ended because a refresh token was used again from another device (a count)
  4. 4Ended sessions: A table with two columns, session_id and reason, uploaded as a CSV or pasted.
  5. 5What signed people out wrongly: What signed people out who shouldn't have been? Pick everything that did.
  6. 6Your working: A link to what you used: your script, queries or notebook (a GitHub repository or a gist), shared so anyone with the link can see it.
  7. 7A note to Kabir: 200 words at most.
  8. 8How you used AI: Your prompts or the chat, if you used it.

Your counts, your causes and your ended sessions are checked against your own logs the moment you hand in. The pass mark is 70 of 100, and the users wrongly signed out must be right. Hand in as often as you need; every hand-in is counted.

What passing earns

  • A step to your AI-enabled Full-Stack Developer · Level 1 badge: 1 of the 2 passes it needs, and the next level opens with it.
  • A badge page that anyone can check, which you can add to LinkedIn as a certification.
  • A project on your Wooble profile made from your hand-in, when you choose to add it.
  • 50 points for the pass.

More in Level 1