-
Notifications
You must be signed in to change notification settings - Fork 422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Iterate on the new verification_jobs
table
#1826
Comments
I mostly agree with above fields. Errors need multiple fields due to the API design in Stoplight. I propose to use exactly these names for the columns: Table:
|
Small comment on |
Additionally this was what's recommended by Claude. I don't know to what extent this is useful but I see we can go beyond the minimal cpu+memory info: const os = require('os');
const v8 = require('v8');
const getHardwareInfo = () => {
const memoryUsage = process.memoryUsage();
const heapStats = v8.getHeapStatistics();
return {
cpu: {
model: os.cpus()[0].model,
cores: os.cpus().length,
speed: os.cpus()[0].speed,
allocated_cores: process.env.CPU_LIMIT || os.cpus().length,
cpu_quota: process.resourceUsage().maxCPU || null
},
memory: {
total_allocated: process.env.MEMORY_LIMIT || os.totalmem(),
available: os.freemem(),
process_usage: {
heapTotal: memoryUsage.heapTotal,
heapUsed: memoryUsage.heapUsed,
external: memoryUsage.external,
rss: memoryUsage.rss
}
},
environment: {
type: process.env.K_SERVICE ? 'cloud-run' : 'local',
node_version: process.version,
container_id: process.env.HOSTNAME || null
}
};
}; Edit: When I asked for only the essential info Claude gave me these: const os = require('os');
const getEssentialHardwareInfo = () => {
return {
cpu: {
allocated_cores: process.env.CPU_LIMIT || os.cpus().length,
model: os.cpus()[0].model
},
memory: {
allocated_mb: Math.floor((process.env.MEMORY_LIMIT || os.totalmem()) / (1024 * 1024))
},
environment: {
type: process.env.K_SERVICE ? 'cloud-run' : 'local'
}
};
}; |
Regarding storing the bytecodes, I'd really like to show a nice UI for the users in the future how these bytecodes diff for failed jobs. Like this: We find ourselves debugging into people's failed verifications a lot of times and it would be useful to have this information without doing everything locally, even better if we can convey this information to the user and they don't have to contact us at all. IMO this is an essential part of building an overall better contract verification experience. However this is not a requisite from my side and this can be added later by extending the table. We can even add another table like |
Iterate on the new table definition, making sure that it contains all the need information. In particular focus on the foreign key
verification_id
in the case of a successful verification and understand what information to include in the case of a failed verification:/v2/verify/etherscan/
The text was updated successfully, but these errors were encountered: