AnalyticsFormatter
in package
A simple class to format analytics data to make it more human-readable and to perform calculations.
Table of Contents
Properties
- $roomFields : array<string|int, string>
- $userFields : array<string|int, string>
- $rawData : array<string|int, mixed>
- $roomData : array<string|int, mixed>
- $timezone : DateTimeZone
- $usersData : array<string|int, mixed>
Methods
- __construct() : mixed
- formatSecondsToTime() : string
- Format seconds to H:i:s format
- formatTimestamp() : string
- Format timestamp to user readable format
- getFormattedEventData() : array<string|int, mixed>
- Get formatted analytics data
- getRawAnalyticsData() : array<string|int, mixed>
- Get raw analytics data
- getRoomFields() : array<string|int, string>
- Get room fields
- getUserFields() : array<string|int, string>
- Get user fields
- countStatusStartTypeEvent() : int
- Count how many times an event occurred
- formatRoomData() : void
- Format basic room data
- formatRoomEvents() : void
- Format room events
- formatRoomPolls() : array<string|int, mixed>
- Format room polls data
- formatUserEvents() : void
- Format user events
- formatUserJoinDuration() : void
- Format user join duration
- formatUserPollVoted() : int
- Format user's poll voted data
- formatUsersData() : void
- Format user data
- getDurationFromEvents() : int
- Get duration from events
Properties
$roomFields
protected
array<string|int, string>
$roomFields
= ["room_id", "room_title", "room_creation", "room_ended", "room_duration", "room_total_users", "enabled_e2ee", "recording_status", "rtmp_status", "external_media_player_status", "etherpad_status", "external_display_link_status", "ingress_created", "breakout_room"]
$userFields
protected
array<string|int, string>
$userFields
= ["name", "ex_user_id", "is_admin", "duration", "joined", "left", "mic_status", "mic_muted", "mic_duration", "talked", "talked_duration", "webcam_status", "webcam_duration", "raise_hand", "voted_poll", "whiteboard_annotated", "whiteboard_files", "screen_share_status", "public_chat", "private_chat", "chat_files", "interface_invisible", "connection_quality"]
$rawData
private
array<string|int, mixed>
$rawData
= []
$roomData
private
array<string|int, mixed>
$roomData
= []
$timezone
private
DateTimeZone
$timezone
$usersData
private
array<string|int, mixed>
$usersData
= []
Methods
__construct()
public
__construct(array<string|int, mixed> $rawData[, string $userTimezone = 'UTC' ]) : mixed
Parameters
- $rawData : array<string|int, mixed>
-
Raw analytics data from plugNmeet-server
- $userTimezone : string = 'UTC'
-
User's timezone
formatSecondsToTime()
Format seconds to H:i:s format
public
formatSecondsToTime(mixed $seconds) : string
Parameters
- $seconds : mixed
Return values
stringformatTimestamp()
Format timestamp to user readable format
public
formatTimestamp(mixed $timestamp[, bool $ms = true ]) : string
Parameters
- $timestamp : mixed
- $ms : bool = true
Return values
stringgetFormattedEventData()
Get formatted analytics data
public
getFormattedEventData() : array<string|int, mixed>
Return values
array<string|int, mixed>getRawAnalyticsData()
Get raw analytics data
public
getRawAnalyticsData() : array<string|int, mixed>
Return values
array<string|int, mixed>getRoomFields()
Get room fields
public
getRoomFields() : array<string|int, string>
Return values
array<string|int, string>getUserFields()
Get user fields
public
getUserFields() : array<string|int, string>
Return values
array<string|int, string>countStatusStartTypeEvent()
Count how many times an event occurred
private
countStatusStartTypeEvent(array<string|int, mixed> $data[, string $type = "ANALYTICS_STATUS_STARTED" ]) : int
Parameters
- $data : array<string|int, mixed>
- $type : string = "ANALYTICS_STATUS_STARTED"
Return values
intformatRoomData()
Format basic room data
private
formatRoomData() : void
formatRoomEvents()
Format room events
private
formatRoomEvents(array<string|int, mixed> $events) : void
Parameters
- $events : array<string|int, mixed>
formatRoomPolls()
Format room polls data
private
formatRoomPolls(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
Return values
array<string|int, mixed>formatUserEvents()
Format user events
private
formatUserEvents(array<string|int, mixed> &$user, array<string|int, mixed> $events) : void
Parameters
- $user : array<string|int, mixed>
- $events : array<string|int, mixed>
formatUserJoinDuration()
Format user join duration
private
formatUserJoinDuration(array<string|int, mixed> &$user) : void
Parameters
- $user : array<string|int, mixed>
formatUserPollVoted()
Format user's poll voted data
private
formatUserPollVoted(array<string|int, mixed> $values) : int
Parameters
- $values : array<string|int, mixed>
Return values
intformatUsersData()
Format user data
private
formatUsersData() : void
getDurationFromEvents()
Get duration from events
private
getDurationFromEvents(array<string|int, mixed> $events[, string $startStatus = 'ANALYTICS_STATUS_STARTED' ][, string $endStatus = 'ANALYTICS_STATUS_ENDED' ]) : int
Parameters
- $events : array<string|int, mixed>
- $startStatus : string = 'ANALYTICS_STATUS_STARTED'
- $endStatus : string = 'ANALYTICS_STATUS_ENDED'