Comments (5)
This is a good suggestion, fully agreed. We built XCMetrics with a plugin system so that you would be able to attach custom metadata to the information sent. But we also realize that there's a set of metrics that would be useful for people not to reimplement over and over again in separate plugins. There are a couple of ways to address this:
- Include the git branch (and maybe other basic info about the git status) in a new field inside XCMetrics. This would probably cause the backend to have to migrate all existing tables due to the fact that a new field was added. We would need to evaluate this properly before making a decision to go down this route.
- A second approach could be to provide standard implementations for common plugins directly in this repo. This would maybe look like a new package called
XCMetricsPlugins
that would containd default implementation for common plugins that people may want to use. You could then create your own custom version of XCMetrics (as described here).
I like the second option because this avoids adding all kind of configuration flags to the main XCMetrics tool such as --git_dir
because some people may or may not want to provide/collect those information.
Maybe the rest of the team (@ecamacho @polac24 @aleksandergrzyb) have more opinions on the best way to approach this.
from xcmetrics.
I think it makes sense to go with the second approach. We will need new package to have the plugins sooner or later. And this is the perfect case to start with. And also the thermal throttling one that we provide in the documentation.
from xcmetrics.
+1 for this improvement!
from xcmetrics.
Fixed by #15 so I'll close this. Thanks @schlagelk!
from xcmetrics.
To add some more details, we are internally tracking a few information other than just the git branch name, which should be possible to do if we go with the second approach:
user_email
(this would be fully redacted or semi-redacted via hashing)branch
branch_created_at
dirty
sha
describe
from xcmetrics.
Related Issues (20)
- Pin GoogleCloudKit version or update platform to 13.0 HOT 2
- What is `for Previews _scheme-name_` in `builds` table. HOT 4
- Some fields are empty in the `build_hosts` table HOT 1
- Mandatory 'excludeCI' parameter breaks the Backstage plugin integration. HOT 2
- `no partition of relation "builds" found for row` error when submitting builds. HOT 2
- Add a new endpoint to filter build metadata HOT 1
- XCMetrics support Redis running in cluster mode
- Update XCLogParser to v0.2.37 HOT 1
- How to retain only the most basic and core data? Such as build time/cpu/memory, full/incremental compilation and other data.
- Broken for Xcode 15.3? HOT 3
- Use XCMetrics without backend
- Automated XCMetrics setup for projects
- Fatal error: No Queues driver configured HOT 1
- Question: Will and when uploaded xcactivitylog be deleted? HOT 2
- Stuck booting XCMetricsBackend when deploying using scheduled job
- Failure to compile with Xcode 14
- [REQUEST] Tag Latest Docker Image with Current Release on dockerhub
- Plugin for measuring unit test time
- Skip post-action for clean tasks HOT 2
- The web server returns `{"reason":"Not Found","error":true}`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xcmetrics.