P
Prisma•7d ago
mundae

Optimize not showing any queries

For some reason when I click on record it won't show any queries done but the accelerate works. (pnpm dev)
import { PrismaClient } from '@prisma/client/edge'
import { withOptimize } from '@prisma/extension-optimize'
import { withAccelerate } from '@prisma/extension-accelerate'

const prisma = new PrismaClient({ log: ['query', 'info', 'warn', 'error'] })
.$extends(
withOptimize({
apiKey: process.env.OPTIMIZE_API_KEY!,
enable: true,
})
)
.$extends(withAccelerate())
.$extends({
query: {
$allModels: {
async $allOperations({ operation, model, args, query }) {
const start = performance.now()
const result = await query(args)
const end = performance.now()
const duration = end - start
console.log(`Query ${model}.${operation} took ${duration.toFixed(2)}ms`)
return result
},
},
},
})

export default prisma
import { PrismaClient } from '@prisma/client/edge'
import { withOptimize } from '@prisma/extension-optimize'
import { withAccelerate } from '@prisma/extension-accelerate'

const prisma = new PrismaClient({ log: ['query', 'info', 'warn', 'error'] })
.$extends(
withOptimize({
apiKey: process.env.OPTIMIZE_API_KEY!,
enable: true,
})
)
.$extends(withAccelerate())
.$extends({
query: {
$allModels: {
async $allOperations({ operation, model, args, query }) {
const start = performance.now()
const result = await query(args)
const end = performance.now()
const duration = end - start
console.log(`Query ${model}.${operation} took ${duration.toFixed(2)}ms`)
return result
},
},
},
})

export default prisma
11 Replies
Prisma AI Help
Prisma AI Help•7d ago
You chose to debug with a human. They'll tinker with your query soon. If you get curious meanwhile, hop into #ask-ai for a quick spin!
mundae
mundaeOP•7d ago
prisma:info Calling accelerate prisma
prisma:info Calling accelerate prisma
prisma:query SELECT 1
prisma:query SELECT "public"."UserInformation"."id" FROM "public"."UserInformation" WHERE ("public"."UserInformation"."username" = $1 OR "public"."UserInformation"."email" = $2) LIMIT $3 OFFSET $4 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-828d876a9e86148e-01'
*/
prisma:query SELECT "public"."Invite"."id" FROM "public"."Invite" WHERE ("public"."Invite"."inviteCode" = $1 AND "public"."Invite"."claimed" = $2) LIMIT $3 OFFSET $4 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-e6694966486688cb-01' */
prisma:info Calling accelerate prisma
prisma:query BEGIN
prisma:query SELECT "public"."BioInformation"."id" FROM "public"."BioInformation" WHERE ("public"."BioInformation"."bioName" = $1 AND 1=1) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."BioInformation" ("id","bioName") VALUES ($1,$2) RETURNING "public"."BioInformation"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."BioInformation"."id", "public"."BioInformation"."bioName" FROM "public"."BioInformation" WHERE "public"."BioInformation"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."User" ("id","appwriteId") VALUES ($1,$2) RETURNING "public"."User"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."InviteInformation" ("id","userId") VALUES ($1,$2) RETURNING "public"."InviteInformation"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."Invite" ("id","inviteCode","expirationDate","claimed","inviteInformationId") VALUES ($1,$2,$3,$4,$5) RETURNING "public"."Invite"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."User"."id", "public"."User"."appwriteId" FROM "public"."User" WHERE "public"."User"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."User"."id" FROM "public"."User" WHERE ("public"."User"."appwriteId" = $1 AND 1=1) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query UPDATE "public"."Invite" SET "claimed" = $1, "redeemedAt" = $2 WHERE ("public"."Invite"."inviteCode" = $3 AND 1=1) RETURNING "public"."Invite"."id", "public"."Invite"."inviteCode", "public"."Invite"."expirationDate", "public"."Invite"."redeemedAt", "public"."Invite"."claimed", "public"."Invite"."usedById", "public"."Invite"."inviteInformationId" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."Invite"."id", "public"."Invite"."usedById" FROM "public"."Invite" WHERE (1=1 AND "public"."Invite"."usedById" IN ($1)) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query UPDATE "public"."Invite" SET "usedById" = $1 WHERE "public"."Invite"."id" = $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."Invite"."id", "public"."Invite"."inviteCode", "public"."Invite"."expirationDate", "public"."Invite"."redeemedAt", "public"."Invite"."claimed", "public"."Invite"."usedById", "public"."Invite"."inviteInformationId" FROM "public"."Invite" WHERE "public"."Invite"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query COMMIT
Query BioInformation.upsert took 520.44ms
Query User.create took 520.54ms
Query Invite.update took 520.61ms
prisma:info Calling accelerate prisma
prisma:info Calling accelerate prisma
prisma:query SELECT 1
prisma:query SELECT "public"."UserInformation"."id" FROM "public"."UserInformation" WHERE ("public"."UserInformation"."username" = $1 OR "public"."UserInformation"."email" = $2) LIMIT $3 OFFSET $4 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-828d876a9e86148e-01'
*/
prisma:query SELECT "public"."Invite"."id" FROM "public"."Invite" WHERE ("public"."Invite"."inviteCode" = $1 AND "public"."Invite"."claimed" = $2) LIMIT $3 OFFSET $4 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-e6694966486688cb-01' */
prisma:info Calling accelerate prisma
prisma:query BEGIN
prisma:query SELECT "public"."BioInformation"."id" FROM "public"."BioInformation" WHERE ("public"."BioInformation"."bioName" = $1 AND 1=1) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."BioInformation" ("id","bioName") VALUES ($1,$2) RETURNING "public"."BioInformation"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."BioInformation"."id", "public"."BioInformation"."bioName" FROM "public"."BioInformation" WHERE "public"."BioInformation"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."User" ("id","appwriteId") VALUES ($1,$2) RETURNING "public"."User"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."InviteInformation" ("id","userId") VALUES ($1,$2) RETURNING "public"."InviteInformation"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query INSERT INTO "public"."Invite" ("id","inviteCode","expirationDate","claimed","inviteInformationId") VALUES ($1,$2,$3,$4,$5) RETURNING "public"."Invite"."id" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."User"."id", "public"."User"."appwriteId" FROM "public"."User" WHERE "public"."User"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."User"."id" FROM "public"."User" WHERE ("public"."User"."appwriteId" = $1 AND 1=1) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query UPDATE "public"."Invite" SET "claimed" = $1, "redeemedAt" = $2 WHERE ("public"."Invite"."inviteCode" = $3 AND 1=1) RETURNING "public"."Invite"."id", "public"."Invite"."inviteCode", "public"."Invite"."expirationDate", "public"."Invite"."redeemedAt", "public"."Invite"."claimed", "public"."Invite"."usedById", "public"."Invite"."inviteInformationId" /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."Invite"."id", "public"."Invite"."usedById" FROM "public"."Invite" WHERE (1=1 AND "public"."Invite"."usedById" IN ($1)) OFFSET $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query UPDATE "public"."Invite" SET "usedById" = $1 WHERE "public"."Invite"."id" = $2 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query SELECT "public"."Invite"."id", "public"."Invite"."inviteCode", "public"."Invite"."expirationDate", "public"."Invite"."redeemedAt", "public"."Invite"."claimed", "public"."Invite"."usedById", "public"."Invite"."inviteInformationId" FROM "public"."Invite" WHERE "public"."Invite"."id" = $1 LIMIT $2 OFFSET $3 /* traceparent='00-e74d4b0a22a5a9777b73897dd24f4717-066703b31586edf5-01' */
prisma:query COMMIT
Query BioInformation.upsert took 520.44ms
Query User.create took 520.54ms
Query Invite.update took 520.61ms
Heres what I am getting on the logs, from what I see accelerate is working perfectly but optimize just doesn't appear to work @jonfanz any clue?
Nurul
Nurul•7d ago
Hey 👋 Are you using latest versions of prisma, Optimize and accelerate extension? Would it be possible for you to share a minimal reproduction with us so that we can debug?
mundae
mundaeOP•6d ago
Yeah I am using prisma and extensions on the latest version There's no actual way of reproducing I have no clue it's just that, I showed the queries No errors and the optimize.prisma message shows Yeah just nothing, I did try with the create optimize template and it showed the queries but not on the next.js app...
generator client {
provider = "prisma-client-js"
previewFeatures = ["tracing"]
}

datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL_NON_POLLING")
shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
previewFeatures = ["tracing"]
}

datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL_NON_POLLING")
shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
}
import { PrismaClient } from '@prisma/client/edge'
import { withOptimize } from '@prisma/extension-optimize'
//import { withAccelerate } from '@prisma/extension-accelerate'

const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }

export const prisma =
globalForPrisma.prisma ||
new PrismaClient().$extends(
withOptimize({
apiKey: process.env.PRISMA_OPTIMIZE_TOKEN!,
})
)

if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma

export default prisma
import { PrismaClient } from '@prisma/client/edge'
import { withOptimize } from '@prisma/extension-optimize'
//import { withAccelerate } from '@prisma/extension-accelerate'

const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }

export const prisma =
globalForPrisma.prisma ||
new PrismaClient().$extends(
withOptimize({
apiKey: process.env.PRISMA_OPTIMIZE_TOKEN!,
})
)

if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma

export default prisma
Depends:
"@prisma/client": "^6.4.1",
"@prisma/extension-accelerate": "^1.2.2",
"@prisma/extension-optimize": "^1.1.6",
"@prisma/instrumentation": "^6.4.1",
"@prisma/client": "^6.4.1",
"@prisma/extension-accelerate": "^1.2.2",
"@prisma/extension-optimize": "^1.1.6",
"@prisma/instrumentation": "^6.4.1",
Nurul
Nurul•6d ago
Is your Nextjs app open source?
mundae
mundaeOP•6d ago
No... But I could give access to the git repo
Nurul
Nurul•6d ago
Let me first try to create a basic nextjs app with Optimize and check if I can reproduce this.
mundae
mundaeOP•5d ago
Anything yet? I've seen create T3 app and other prisma setups but they all work.. @Nurul
Nurul
Nurul•5d ago
This is on my radar. Will attempt a reproduction today and share it with you
Nurul
Nurul•5d ago
I was able to get Optimize working in a Nextjs app https://github.com/nurul3101/nextjs-optimize The query I invoked via nextjs app did show up in Optimize. This app also has accelerate, but it works as expected without accelerate as well
GitHub
GitHub - nurul3101/nextjs-optimize
Contribute to nurul3101/nextjs-optimize development by creating an account on GitHub.
No description
mundae
mundaeOP•5d ago
Not sure what it is... I made my own version of create T3 app and jstack, gonna implement it later on my app and i will let you know

Did you find this page helpful?