Skip to content

Commit d57af36

Browse files
internal: add analytics for SISTrack, RenderCacheTrack, FaderTrack (#481)
* add and send SISTrackMixerEvent * add and send RenderCacheTrackMixerEvent * add and send FaderTrackMixerEvent * add and send SISClipEnableEvent * add and send RenderCacheClipUpdateEvent * fix warnings --------- Co-authored-by: Sindharta Tanuwijaya <sindharta@gmail.com>
1 parent 5792668 commit d57af36

17 files changed

Lines changed: 221 additions & 12 deletions

Editor/Scripts/Features/RenderCache/RenderCachePlayableAssetInspector.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,8 @@ internal static IEnumerator UpdateRenderCacheCoroutine(PlayableDirector director
201201

202202
}
203203

204-
TrackAsset track = clipData.GetOwner().GetParentTrack();
204+
TimelineClip timelineClip = clipData.GetOwner();
205+
TrackAsset track = timelineClip.GetParentTrack();
205206
BaseRenderCapturer renderCapturer = director.GetGenericBinding(track) as BaseRenderCapturer;
206207
if (null == renderCapturer) {
207208
EditorUtility.DisplayDialog("Streaming Image Sequence",
@@ -246,7 +247,6 @@ internal static IEnumerator UpdateRenderCacheCoroutine(PlayableDirector director
246247

247248
GameObject blitterGO = blitter.gameObject;
248249

249-
TimelineClip timelineClip = clipData.GetOwner();
250250
double timePerFrame = 1.0f / track.timelineAsset.editorSettings.GetFPS();
251251

252252
//initial calculation of loop vars
@@ -313,7 +313,13 @@ internal static IEnumerator UpdateRenderCacheCoroutine(PlayableDirector director
313313
cancelled = EditorUtility.DisplayCancelableProgressBar(
314314
"StreamingImageSequence", "Caching render results", ((float)(fileCounter - captureStartFrame) / numFiles));
315315
}
316-
316+
317+
AnalyticsSender.SendEventInEditor(
318+
new RenderCacheClipUpdateEvent(timelineClip.duration, clipData.AreFrameMarkersRequested(),
319+
fileCounter - captureStartFrame + 1 , (int) outputFormat
320+
)
321+
);
322+
317323
if (!cancelled) {
318324

319325
//Delete old files that has the same extension, and has fileCounter that is more than max

Runtime/Scripts/Analytics.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using Unity.FilmInternalUtilities;
2+
3+
namespace Unity.StreamingImageSequence {
4+
5+
internal class FaderTrackMixerEvent : AnalyticsEvent {
6+
7+
internal FaderTrackMixerEvent(int clips) : base(new EventData { numClips = clips, }) { }
8+
9+
private class EventData : AnalyticsEventData {
10+
public int numClips;
11+
}
12+
13+
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
14+
15+
internal override string eventName => "streamingimagesequence_fadertrack_mixer";
16+
internal override int maxItems => 1;
17+
18+
19+
}
20+
21+
} //end namespace

Runtime/Scripts/Analytics/FaderTrackMixerEvent.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using Unity.FilmInternalUtilities;
2+
3+
namespace Unity.StreamingImageSequence {
4+
5+
internal class RenderCacheClipUpdateEvent : AnalyticsEvent {
6+
7+
internal RenderCacheClipUpdateEvent(double duration, bool frameMarkers, int updatedFrames, int formatType) : base(
8+
new EventData {
9+
clipDuration = duration,
10+
showFrameMarkers = frameMarkers,
11+
numUpdatedFrames = updatedFrames,
12+
outputFormatType = formatType,
13+
})
14+
{ }
15+
16+
private class EventData : AnalyticsEventData {
17+
public double clipDuration;
18+
public bool showFrameMarkers;
19+
public int numUpdatedFrames;
20+
public int outputFormatType;
21+
}
22+
23+
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
24+
25+
internal override string eventName => "streamingimagesequence_rendercacheclip_update";
26+
internal override int maxItems => 1;
27+
28+
29+
}
30+
31+
} //end namespace

Runtime/Scripts/Analytics/RenderCacheClipUpdateEvent.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using Unity.FilmInternalUtilities;
2+
3+
namespace Unity.StreamingImageSequence {
4+
5+
internal class RenderCacheTrackMixerEvent : AnalyticsEvent {
6+
7+
internal RenderCacheTrackMixerEvent(int clips) : base(new EventData { numClips = clips, }) { }
8+
9+
private class EventData : AnalyticsEventData {
10+
public int numClips;
11+
}
12+
13+
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
14+
15+
internal override string eventName => "streamingimagesequence_rendercachetrack_mixer";
16+
internal override int maxItems => 1;
17+
18+
19+
}
20+
21+
} //end namespace

Runtime/Scripts/Analytics/RenderCacheTrackMixerEvent.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using Unity.FilmInternalUtilities;
2+
3+
namespace Unity.StreamingImageSequence {
4+
5+
internal class SISClipEnableEvent : AnalyticsEvent {
6+
7+
internal SISClipEnableEvent(double duration, bool frameMarkers, int images, int width, int height) : base(
8+
new EventData {
9+
clipDuration = duration,
10+
showFrameMarkers = frameMarkers,
11+
numImages = images,
12+
imageResolutionWidth = width,
13+
imageResolutionHeight = height
14+
})
15+
{ }
16+
17+
private class EventData : AnalyticsEventData {
18+
public double clipDuration;
19+
public bool showFrameMarkers;
20+
public int numImages;
21+
public int imageResolutionWidth;
22+
public int imageResolutionHeight;
23+
}
24+
25+
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
26+
27+
internal override string eventName => "streamingimagesequence_sisclip_enable";
28+
internal override int maxItems => 1;
29+
30+
}
31+
32+
} //end namespace

Runtime/Scripts/Analytics/SISClipEnableEvent.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)