Nathan A
Nathan A

Reputation: 11339

PDBs in Service Fabric Builds

Why does the template for a Service Fabric build in Azure DevOps default with steps to move the PDBs out of the SF package, keeping them from deploying to the cluster?

In my case, I want them included so exceptions include the line numbers.

While I can modify (or delete) those PDB steps, I'm wondering why they do this in case I'm missing something, such as a best practice I'm not familiar with.

Upvotes: 1

Views: 154

Answers (1)

Oleg Karasik
Oleg Karasik

Reputation: 969

I am not aware about some strict best practices here but here are my personal conclusions made based on the SF documentation.

Deployment


One of the most important package parameter from the deployment point of view is package size.

It affects:

  1. Time required to: Compress / Upload / Unpack - having a lot of .dll files would result is having a lot of .pdb (one for each of the .dll). This in turn can significantly increase package size. Large packages take more time to be compressed, uploaded and unpacked.
  2. Storage consumption - it sounds obvious but large packages consume more storage. This can sound insignificant but when you have 10 service each package of which is ~100MB (of uncompressed size) the you already consume 1GB of storage. Having several application with multiple services can result in drastic amount of storage consumed. So every MB is important.

You can find some information regarding the topic here.

Build Pipeline


The reason why .pdb files are copied to artifacts directory from my point of view is quite simple - the default template assumes you have some process to manage the debug symbols i.e. you can add additional step and upload them to symbol server.

Upvotes: 1

Related Questions