k/Y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneYDeclare a Payload Field data type and create a prism for it with the mapping provided."The type must be non-parametrised.e.g.  declarePF Volume (Verb, ''Word8) [ (Create, 1) , (Resize, 2) ] [ ''Show, ''Eq, '' Bounded, '' Enum ]  will create: _ data PFVolumeVerb = VolumeCreate | VolumeResize deriving (Show, Eq, Enum, Bounded) pfVolumeVerb :: Prism' Word8 PFVolumeVerb pfVolumeVerb = prism' pretty parse where pretty VolumeCreate = 1 pretty VolumeResize = 2 parse 1 = Just VolumeCreate parse 2 = Just VolumeResize parse _ = Nothing JThis is useful if you want parsing/print prisms for a non-parametric type.BThese Will throw a first-stage compile-time error if not in scope.BThese Will throw a first-stage compile-time error if not in scope. Field prefix, e.g. VolumekType constructors to be declared and parsed from, the type from which we parse must have literal values.#Data constructors and their mappingDerived classes None    None Payload Raw Compound EventPayload PFEndpointVerbStatusPayload Raw SimplePayload$CAn "improper" iso to convert between a Word64 and the raw compound.It is improper because the reserved 8 bytes are ignored on parsing/printing. So it doesn't satisfy a "roundtrip" between the serialised Word64 and the decoded Compound raw. This is fine since we don't care about the reserved bytes.(CAn "improper" iso to convert between a Word64 and the raw compound.It is improper because we only preserve the value and status in a "roundtrip". This is fine for pollster since that's all we care about.! !"#$%&'()*+,-! !"#$%&'()*+,- !"#$%&'(),+*-None./0./0./0None123456781234567812345678 NoneU9:;<=>?@ABCDEFGHIJKLM9:;<=>?@ABCDEFGHIJKLM 9?>=<;:@ABCHGFEDIJKLM NoneHMCanonical siphash with key = 04Canonical siphash with key = 0, truncated to 32 bits$NOPQRSTUVWXYZ[\]^_`abcdefghijklmno"NOPQRSTUVWXYZ[\]^_`abcdefghijklmno NOPQRSTUVihgfedcba`_^]\[ZYXWjklmno NoneUpqrstuvwxyz{|}~pqrstuvwxyz{|}~ psrqtuxwvyz{|}~ None NoneU                NoneU*& None -./=JKValues with a TimeStamp.EInformation needed to parse/fold Ceilometer types, supplied by users.`A family of lens that allows viewing/updating the payload value of decoded Ceilometer points.note: this is a Lens and not just a Getter since we wish to reuse the logic for collector (making the points) and user (reading the points).$ !"#$%&'()*+,-./0 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!$"#('&%),+*-Vihgfedcba`_^]\[ZYXWj9?>=<;:@CHGFEDIpsrqtuxwvy|}~./045671238TUkRSlPQmNOnABLJKMz{ o !"#$%&'()*+,-./0None 3=KMTU1DOpenstack cumulative data is from last startup. So when we process cumulative data we need to account for this. Since (excluding restarts) each point is strictly non-decreasing, we simply use a modified fold to deal with the case where the latest point is less than the second latest point (indicating a restart)!note: copied from vaultaire-queryqAn OpenStack measured known to Ceilometer. We can determine how to decode and aggregate Vaultaire data for it.;A universial wrapper of fold results to expose to the user.-For simplicity, it's not associated with the Known^ class. If the need to do that arises, use Typeable and Constraint tricks to pattern match.(Wrap a fold that doens't depend on time.2SFinds the length of time allocated to each "state" of the resource. e.g. time a Volume/ spent at 10GB, then at 20GB (if resized), etc.32Time-lapse for each value from a stream of events.64516789:2;<3=>?@ABCDEFGHIJKLMN04516789:2;<3=>?@ABCDEFGHIJKLMNNone =HJKMTUOGAbort the entire pipeline when encoutering malformed data in the Vault. SourceDict to infer the resource type.+The raw data points to parse and aggregate.ResultPQO !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~PQOR !"#$%&'()**++,-.//0123456789::;<<=>>?@A B C D E F G H I J J K L M N O P Q R R S T U U V V W W X X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } } ~                               !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLceilometer-common-0.2.2Ceilometer.TagsCeilometer.TypesCeilometer.FoldCeilometer.ClientCeilometer.Types.THCeilometer.Types.BaseCeilometer.Types.CPUCeilometer.Types.DiskCeilometer.Types.ImageCeilometer.Types.InstanceCeilometer.Types.IPCeilometer.Types.NeutronCeilometer.Types.SnapshotCeilometer.Types.Volume keyMetricName keyTenancyID keyResourceIDkeyEvent keyCompound keyVolumeTypevalTruevalFalsevalCPU valDiskWrites valDiskReadsvalIPvalImagevalInstanceFlavorvalInstanceRAMvalInstanceVCPU valNeutronIn valNeutronOut valSnapshot valVolumevalVolumeBlock valVolumeFastlookupMetricName lookupEventlookupVolumeTypelookupCompoundisEventPRCompoundEventPRSimple FlavorMapFlavorprSimplePRCompoundPollsterprCompoundEvent PFValueText PFValue32 PFValue64prCompoundPollster PFEndpointEndStartInstant pfEndpointPDCPUpdCPU PDDiskWrite_pdDiskWriteVal PDDiskRead_pdDiskReadVal pdDiskRead pdDiskWrite PFImageStatus ImageKilledImagePendingDelete ImageQueued ImageDeleted ImageSaving ImageActive pfImageStatusPDImage PFImageVerb ImageDelete ImageDownload ImageUpload ImageUpdate ImageServe pfImageVerbPDImagePollsterpdImagepdImagePollsterPDInstanceFlavorPDInstanceDisk PDInstanceRAMPDInstanceVCPUPFInstanceStatusInstanceMigratingInstanceRescueInstanceSuspendedInstancePausedInstanceRevertResizeInstanceVerifyResizeInstanceResizeInstancePasswordInstanceHardRebootInstanceRebootInstanceShelvedOffloadedInstanceShelvedInstanceSoftDeletedInstanceDeletedInstanceRebuild InstanceBuildInstanceShutoffInstanceActive InstanceErrorpfInstanceStatuspdInstanceVCPU pdInstanceRAMpdInstanceDiskpdInstanceFlavor siphashID PFIPStatusIPDownIPActiveIPNone pfIPStatusPFIPVerbIPDeleteIPUpdateIPCreatepfIPVerbPDIP PFIPAllocIPAlloc pfIPAllocpdIP PDNeutronRx_pdNeutronRxVal PDNeutronTx_pdNeutronTxVal pdNeutronTx pdNeutronRxPFSnapshotStatusSnapshotDeletingSnapshotCreatingSnapshotAvailable SnapshotErrorpfSnapshotStatus PDSnapshotPFSnapshotVerbSnapshotDeleteSnapshotUpdateSnapshotCreatepfSnapshotVerb pdSnapshotPFVolumeStatusVolumeUploadingVolumeRetyping VolumeInUseVolumeDetachingVolumeAttachingVolumeDeletingVolumeExtendingVolumeCreatingVolumeAvailable VolumeErrorpfVolumeStatusPDSSDPDVolume PFVolumeVerb VolumeUpdate VolumeDetach VolumeAttach VolumeDelete VolumeResize VolumeCreate pfVolumeVerbpdVolumepdSSDTimedFiltersinstanceStatusFilterEnv _flavormap _sourcedict_filters_start_endfilterByInstanceStatusValuedPFValuevaluetimeKnownmkPrismmkFold FoldResultRMapText RMapNum64 RMapNum32RSinglefoldCPU foldDiskRead foldDiskWrite foldNeutronTx foldNeutronRx foldVolumefoldSSD foldImage foldSnapshotfoldIPfoldInstanceFlavorfoldInstanceVCPUfoldInstanceRAMfoldInstanceDiskfoldImagePollster timewrapFold decodeFold decodeFold_ declarePFlookupPrismFunclookupPrismTyCon declareWithmkClause lookupJust lookupNothinglookupTlookupV _eventVal_eventEndpoint _eventVerb _eventStatus _pollsterVal _prSimpleVal_pollsterStatus eventEndpoint eventStatuseventVal eventVerb PFValueStringpollsterStatus pollsterVal _pdCPUVal _imageStatus _imageVerb_imageEndpoint _imageVal_pdImagePollsterVal imageEndpoint imageStatusimageVal imageVerbsiphash siphash32 _ipStatus_ipVerb _ipEndpoint_ipVal ipEndpointipStatusipValipVerb_snapshotStatus _snapshotVerb_snapshotEndpoint _snapshotValsnapshotEndpointsnapshotStatus snapshotVal snapshotVerb _ssdStatus_ssdVerb _ssdEndpoint_ssdVal _volumeStatus _volumeVerb_volumeEndpoint _volumeValvolumeEndpoint volumeStatus volumeVal volumeVerb ssdEndpoint ssdStatusssdValssdVerb_time_valval $fValuedPDIP$fValuedPDSnapshot$fValuedPDImagePollster$fValuedPDImage$fValuedPDInstanceDisk$fValuedPDInstanceRAM$fValuedPDInstanceVCPU$fValuedPDInstanceFlavor $fValuedPDSSD$fValuedPDVolume$fValuedPDNeutronRx$fValuedPDNeutronTx$fValuedPDDiskWrite$fValuedPDDiskRead $fValuedPDCPU $fValuedTimed ACumulativesGaugePollstersEventAEventAGaugePollsterWindow insertVal sCumulative bCumulative eCumulativebGaugePollsterbEventeEventstandardEventFolder ipEventFolder$fKnownPDInstanceFlavor$fKnownPDInstanceDisk$fKnownPDInstanceRAM$fKnownPDInstanceVCPU $fKnownPDIP$fKnownPDSnapshot$fKnownPDImage $fKnownPDSSD$fKnownPDVolume$fKnownPDImagePollster$fKnownPDNeutronRx$fKnownPDNeutronTx$fKnownPDDiskWrite$fKnownPDDiskRead $fKnownPDCPUblowupdecode foldDecoded